composer自动加载

在使用slim时,通过引入autoload.php这个文件,可以自动加载通过composer安装的模块。

require 'vendor/autoload.php';

通过命名空间方式调用,就会自动地引入进来。比如项目依赖于Medoo,就可以这样使用这个类库

new Medoo\Medoo([
    'database_type' => 'DB_TYPE',
    'database_name' => 'DB_DATANAME',
    ...
])

当然,也可以在composer.jsonautoload字段中增加自己的autoloader。

{
    "autoload": {
        "psr-4": {"App\\": "app/"}
    }
}

此时,Composer 将注册一个 PSR-4 autoloader 到 App 命名空间。

你可以定义一个从命名空间到目录的映射。此时 src 会在你项目的根目录,与 vendor 文件夹同级。例如 src/Foo.php 文件应该包含 App\Foo 类。

添加autoload字段之后,可以使用update重新生成一下vendor/autoload.php文件。

引用这个文件也将返回 autoloader 的实例,你可以将包含调用的返回值存储在变量中,并添加更多的命名空间。这对于在一个测试套件中自动加载类文件是非常有用的,例如。

$loader = require 'vendor/autoload.php';
$loader->add('App\\Test\\', __DIR__);

文章参考地址:http://docs.phpcomposer.com/01-basic-usage.html

如果您觉得本文对您有用,欢迎捐赠或留言~
微信支付
支付宝

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注