【发布时间】:2012-10-23 05:05:10
【问题描述】:
我想在应用程序包之外放置一些我将在不同项目中使用的代码。我把它放在供应商文件夹的一个新文件夹中,但我不能包含在项目中。步骤是什么?
- 我应该遵循文件夹和命名空间的特殊结构
- 如何将其包含在我的项目中。
在谷歌上我发现了很多模棱两可的答案。我也试过this,但没用。
【问题讨论】:
标签: symfony
我想在应用程序包之外放置一些我将在不同项目中使用的代码。我把它放在供应商文件夹的一个新文件夹中,但我不能包含在项目中。步骤是什么?
在谷歌上我发现了很多模棱两可的答案。我也试过this,但没用。
【问题讨论】:
标签: symfony
您需要加载您的库。为此,您可以告诉作曲家在哪里可以找到您的库。
最好的办法是为此源代码设置一个 git 存储库,然后使用 composer 加载它,使其保持最新并将其包含到自动加载器中。您可能需要习惯 composer 来执行此操作,但是由于 composer 正在获取 php 的默认依赖项管理工具,因此不会浪费时间。你可以在这里找到文档:http://getcomposer.org/doc/
如果你不想这样做,你可以向 composer 添加一个新的 src 代码文件夹。假设您的文件夹结构是这样的:
symfony2/ 小贩/ 你的图书馆/ 布拉/ 蓝光/ MyClass.php
首先,MyClass.php 应该定义命名空间 Bla/Blub。 Else 然后你可以像这样将你的库添加到 composer.json 文件中:
"autoload": {
"psr-0": {
"": "src/",
"Bla": "vendor/yourlibrary/"
}
}
你已经定义了自动加载,所以你需要覆盖它!
如果您的库没有命名空间,您仍然可以定义 composer 来加载它。我没有使用这个,所以我可以链接您可以阅读的文档:http://getcomposer.org/doc/04-schema.md#autoload
【讨论】:
composer.phar install,它将更新 autoload.php。您的供应商文件夹中应该只有一个 autoload.php 文件,其他任何地方都没有。