[英]How to autoloading my classes alongside with composer autoloader?
通过考虑此文件结构
| -- src /
| -- vendor
| -- models
| -- libraries
| -- ...
| -- composer.json
如何自动加载位于“模型”和“库”目录中的类?
您可以在项目中的composer.json文件中添加自己的自动加载器规则-这会将您自己的规则添加到vendor/autoload.php
文件中,以便您自己的类将与vendor/
目录中的类一起加载。 此处的文档中有更多信息: https : //getcomposer.org/doc/04-schema.md#autoload 。 看一下PSR-0部分,从您的两个目录加载类。
尝试类似:
{
"autoload": {
"psr-0": { "": ["models/", "libraries"] }
}
}
如果您的类已命名,请指定名称空间,因为这将使作曲家无法在这些目录中查找所有类。
或者稍后在代码中,您可以添加您的lib,例如:
$loader = require(ROOTDIR . 'vendor/autoload.php'); // composer autoloading
//public function addPsr4($prefix, $paths, $prepend = false)
$loader->addPsr4('extend\\', ROOTDIR . 'class/lib');
$a = new \extend\MyClass(); // MyClass.php is in ROOTDIR/class/lib directory
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.