Symfony 2.1拥有供应商库

时间:2012-11-02 14:13:42

标签: symfony

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

  • 我应该遵循文件夹和命名空间的特殊结构
  • 我如何加入我的项目。

在Google上,我发现了许多含糊不清的答案。我也试过了this,但它没有用。

1 个答案:

答案 0 :(得分:2)

您需要加载您的库。你可以告诉作曲家在哪里找到你的图书馆。

最好的办法是为这个源代码设置一个git存储库,然后使用composer加载它,使其保持最新并将其包含在自动加载器中。您可能需要习惯使用composer来执行此操作,但随着composer获取php的默认依赖关系管理工具,时间不会浪费。您可以在此处找到文档:http://getcomposer.org/doc/

如果您不想这样做,可以向编辑器添加新的src代码文件夹。假设您的文件夹结构如下:

的Symfony2 /   供应商/     yourlibrary /       布拉/         咕噜/           MyClass.php

首先,MyClass.php应该定义名称空间Bla / Blub。那么你可以像这样添加你的库到composer.json文件:

"autoload": {
    "psr-0": { 
        "": "src/",
        "Bla": "vendor/yourlibrary/"
    }
}

您已经定义了自动加载,因此您需要覆盖它!

如果您的库没有名称空间,您可以定义composer来加载它。我没有使用此功能,因此我可以将文档链接到您可以阅读的文档:http://getcomposer.org/doc/04-schema.md#autoload