我正在创建一个PHP项目,并希望实现PSRR-4自动加载。
我不知道我需要在供应商目录中创建哪些文件来实现类文件的自动加载。
如果使用composer
,则不会创建自动装带器,但让composer
来完成并为您创建它。
您唯一需要做的就是在composer.json
上创建适当的配置并执行composer dump-autoload
。
例如:
{
"autoload": {
"psr-4": {"App\\": "src/"}
}
}
通过上述操作,如果您具有这样的文件结构
├── src/
│ ├── Controller/
│ ├── Model/
│ ├── View
│ └── Kernel
├── public/
│ └── index.php
└── vendor/
执行composer dump-autoload
后,将在vendor/autoload.php
上生成自动装载器。
您的所有类都应嵌套在App
名称空间内。
例如:
<?php /* src/Controller/Home.php */
namespace App\Controller;
class Home { /* implementation */ }
并且您只需要在入口点脚本(例如index.php
)中包括自动装带器。
<?php
require '../vendor/autoload.php';
这将允许您在此之后直接从任何地方直接加载类,就像这样:
use App\Controller\Home;
$homeController = new Home();
这在文档here中有解释。