1

我想放一些我将在应用程序包之外的不同项目中使用的代码。我把它放在供应商文件夹的一个新文件夹中,但我不能包含在项目中。有哪些步骤?

  • 我应该遵循文件夹和命名空间的特殊结构吗
  • 我如何包含在我的项目中。

在谷歌上,我发现了很多模棱两可的答案。我也试过这个,但没有奏效。

4

1 回答 1

2

您需要加载您的库。你通过告诉作曲家在哪里可以找到你的库来做到这一点。

最好的办法是为此源代码设置一个 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

于 2012-11-02T21:09:06.137 回答