在 composer.json 中添加 "psr-4" 映射,如 "MyApp": "src/",将命名空间关联到目录;2. 可配置多个命名空间对应不同目录;3. 运行 composer dump-autoload 生成自动加载文件;4. 确保 PHP 类文件符合 PSR-4 规范并正确引入 autoload.php,即可实现类的自动加载。

要在 composer.json 中添加自己的 PSR-4 自动加载目录,只需修改文件中的 autoload 部分,定义命名空间与对应目录的映射关系。
在项目根目录的 composer.json 文件中,添加或修改 autoload 字段,使用 "psr-4" 键来指定命名空间和目录的映射:
{
"autoload": {
"psr-4": {
"MyApp\": "src/"
}
}
}
上面的例子表示:
- 所有以 MyApp 开头的类名,都会被自动加载器尝试从 src/ 目录下查找。
- 例如,类 MyAppServicesUserService 应该位于 src/Services/UserService.php。
你可以同时映射多个命名空间:
{
"autoload": {
"psr-4": {
"MyApp\": "src/",
"MyApp\Admin\": "admin-src/",
"Test\": "tests/"
}
}
}
这样不同命名空间可以指向不同的源码目录,便于组织代码结构。
修改完成后,运行以下命令让 Composer 重新生成自动加载映射:
composer dump-autoload
如果是在开发库或希望包含优化的类映射,也可以加 --optimize:
composer dump-autoload --optimize
确保你的 PHP 文件遵循 PSR-4 规范。例如:
<?php
// src/Services/UserService.php
namespace MyAppServices;
<p>class UserService {
public function greet() {
return "Hello from UserService!";
}
}
然后在其他地方引入并使用:
<?php require_once __DIR__ . '/vendor/autoload.php'; <p>use MyAppServicesUserService;</p><p>$userService = new UserService(); echo $userService->greet();
基本上就这些。只要命名空间正确、目录结构匹配,并执行了 dump-autoload,Composer 就能自动加载你的类。不复杂但容易忽略细节。
以上就是如何在 composer.json 中添加自己的 PSR-4 自动加载目录?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号