使用composer自动加载类文件

新建一个项目test
在项目目录执行composer init根据提示执行填写想要的东西
执行composer install会在项目目录生成一个vendor目录
打开composer.json文件,加入如下代码:

"autoload": {
        "psr-4": {
            "Test\\": "src"
        }
    }

其中Test是命名空间,src为源文件目录
做完上面步骤后在项目根目录建一个src目录 ,
再创建一个IndexController.php,

namespace Test;

class IndexController 
{
    public function test()
    {
        echo 'test';
    }
}

再在根目录建一个index.php,引入vendor目录中的autoload.php,

test();

直接执行php index.php,会发现报错

Fatal error: Uncaught Error: Class 'Test\IndexController' not found in

需要执行composer dump-autoload自动把类文件做映射
这时打开vender/composer/autoload_psr4.php会看到

 array($baseDir . '/src'),
);

重新执行php index.php已经OK了

大家在使用自动加载的时候记得执行composer dump-autoload,这个经常容易忘。

你可能感兴趣的:(使用composer自动加载类文件)