2015-11-09 72 views
0

这令我感到沮丧,我正在寻求帮助。我非常了解PHP 4.x,以及很多PHP 5.x.我一直遇到的是作曲家。试图理解作曲家

请原谅我,如果这看起来像一个简单的问题,但我已经挫败自己试图找出这一点。

据我所知,它取代了include();require();,它可以将所有PHP脚本加载到一个文件中(而不是单独列出每个脚本)。

我在共享主机环境中,不能(至少目前为止)作曲家,这只会增加我的沮丧。

这里是我的composer.json文件:

{ 
    "name": “php/webapp”, 
    "type": "project", 
    "description": "A php web application”, 
    "keywords": [“php”], 
    "homepage": "https://github.com/xxx”, 
    "license": "MIT", 
    "require-dev": { 
     "php": ">=5.5.0", 
     "phpmailer/phpmailer": "~5.2", 

    }, 
    "autoload": { 
     "psr-4": { "": ["application/engine/“, "application/calculations/“] } 
    } 
} 

我有3个问题:

  1. 是否有可能在一个共享的主机环境中安装?
  2. 有人可以给我一个很好的在线教程,文章,白皮书等解释作曲家吗?
  3. 我怎样才能从composer.json文件中自动加载PHP中的自动加载文件?

在此先感谢您。

+0

是的,脱离主题,脱离主题;边注意卷曲的引号!?!?!!? –

+0

那么,实际上它并不取代include()和require。作曲家的主要目标是管理应用程序的依赖关系,因此您可以重用一些流行且经过良好测试的代码。它还为您的应用程序提供自动加载功能。我认为除了作曲家文档之外,关于[autoloading](http://php.net/manual/en/language.oop5.autoload.php)的PHP文档部分将会对您有所帮助。非常好。你也可以在youtube上的这些主题上找到一些好的东西。祝你好运! –

回答

2
  1. 只要您的要求被服务器的PHP安装/插件等满足,您的托管公司可以帮助您,但在大多数情况下,这不是问题。如果您无法在命令行上访问Composer,则可以在项目中使用install it locally

  2. 官方basic usage guide是开始的好办法

  3. autoloading section解释如何得到它与一个单一的require声明

浏览看起来很有趣的包动工的Packagist和使用composer在命令行上安装,升级并删除它们。点击任何软件包的Github链接查看良好的文档,示例代码和测试。

当您将代码提交到存储库时,请务必检查作者的文档.gitignore的补充内容。

享受!

0
  1. Composer可以安装在共享主机环境中。但是这个问题可能最终会成为你如何在共享主机环境中使用它。如果您在共享主机环境中进行主动开发,那么您可能需要确保您有命令行访问权限,因此您可以使用composer installcomposer update。如果开发工作在本地完成,并交付到共享环境,那么只需提供已安装的代码。实际的composer.phar将不是必需的。

  2. 什么是good是有点意见的一块。getcomposer.org网站是如何最好地使用它的来源,https://getcomposer.org/doc/01-basic-usage.md是一个非常好的开始。

  3. 不确定你在这里之后。为了使作曲家自动加载的文件可以访问,您只需要使用require __DIR__ . '/vendor/autoload.php'。请参阅https://getcomposer.org/doc/01-basic-usage.md#autoloading

正如@Dagon提到的,你有你的上传.json,其中普通双引号应该有些弯引号。