试图理解作曲家

时间:2015-11-09 23:22:17

标签: php composer-php

这令我感到沮丧,我正在寻求帮助。我非常了解PHP 4.x,以及PHP 5.x的大部分内容。我遇到麻烦的是Composer。

如果这看起来像一个简单的问题,请原谅我,但是我为自己试图解决这个问题感到沮丧。

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

我在一个共享的托管环境中,不能(至少到目前为止)Composer,这只会增加我的挫败感。

这是我的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. 有人能指点我写一篇很好的在线教程,文章,白皮书等解释Composer吗?
  3. 我如何使用composer.json文件在PHP中对自动加载的文件进行硬编码?
  4. 提前谢谢。

2 个答案:

答案 0 :(得分:2)

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

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

  3. autoloading section解释了如何使用单个require声明启动它

  4. Packagist上浏览有趣的包,并在命令行中使用composer来安装,升级和删除它们。单击任何包的Github链接以查看良好的文档,示例代码和测试。

    当您将代码提交到存储库时,请务必检查Composer的.gitignore添加文档。

    享受!

答案 1 :(得分: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

  4. 正如@Dagon所提到的,你的.json中有一些卷曲的引号,常规的双引号应该是。

相关问题