使用 Composer 的自动加载器和个人代码
Using Composer's autoloader with personal code
我正在使用 Composer 构建一个小项目,但我现在必须在 vendor 文件夹的父文件夹中使用一些自定义代码。
相似的文件结构:libraries > companyname > namespace > classfile.php
是否可以有效地使用composer autoloader?似乎是这样,但我无法理解它。
使用第二个自动加载器脚本会更容易吗?
我们正在通过 composer 加载我们自己的代码。
我们的代码安装在我们公司名下的lib文件夹中。我们的作曲家文件看起来像这样。
{
"config": {
"vendor-dir": "lib"
},
"require": {
"twig/twig": "v1.15.1",
"symfony/symfony": "2.5.4"
},
"autoload": {
"psr-4": {
"CompanyName\": "lib/companyName/src"
}
}
}
自动加载 psr4 部分是重要部分。 CompanyName
将解析位于 lib/companyName/src
.
中的文件
在 lib/companyName/src 中,您有一个名为 ThingDoer.php
的文件
<?php
namespace CompanyName;
class ThingDoer {
public static function doThings() {}
}
现在,您可以从代码库的任何位置调用 CompanyName\ThingDoer::doThings();
我正在使用 Composer 构建一个小项目,但我现在必须在 vendor 文件夹的父文件夹中使用一些自定义代码。
相似的文件结构:libraries > companyname > namespace > classfile.php
是否可以有效地使用composer autoloader?似乎是这样,但我无法理解它。
使用第二个自动加载器脚本会更容易吗?
我们正在通过 composer 加载我们自己的代码。
我们的代码安装在我们公司名下的lib文件夹中。我们的作曲家文件看起来像这样。
{
"config": {
"vendor-dir": "lib"
},
"require": {
"twig/twig": "v1.15.1",
"symfony/symfony": "2.5.4"
},
"autoload": {
"psr-4": {
"CompanyName\": "lib/companyName/src"
}
}
}
自动加载 psr4 部分是重要部分。 CompanyName
将解析位于 lib/companyName/src
.
在 lib/companyName/src 中,您有一个名为 ThingDoer.php
<?php
namespace CompanyName;
class ThingDoer {
public static function doThings() {}
}
现在,您可以从代码库的任何位置调用 CompanyName\ThingDoer::doThings();