我想放一些我将在应用程序包之外的不同项目中使用的代码。我把它放在供应商文件夹的一个新文件夹中,但我不能包含在项目中。有哪些步骤?
- 我应该遵循文件夹和命名空间的特殊结构吗
- 我如何包含在我的项目中。
在谷歌上,我发现了很多模棱两可的答案。我也试过这个,但没有奏效。
您需要加载您的库。你通过告诉作曲家在哪里可以找到你的库来做到这一点。
最好的办法是为此源代码设置一个 git 存储库,然后使用 composer 加载它,使其保持最新并将其包含到自动加载器中。您可能需要习惯 composer 来执行此操作,但是由于 composer 正在获取 php 的默认依赖项管理工具,因此不会浪费时间。你可以在这里找到文档:http: //getcomposer.org/doc/
如果不想这样做,可以向 composer 添加一个新的 src 代码文件夹。假设您的文件夹结构是这样的:
symfony2/vendor/yourlibrary/Bla/Blub/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