最推荐方式是将自定义类放在 app/ 下并遵循 PSR-4 规范,如 app/Services/PaymentService.php,声明 namespace App\Services;,无需额外配置即可自动加载。
在 Laravel 中添加一个自定义类,核心思路是:让类能被自动加载(autoload)且符合 PSR-4 规范。Laravel 默认基于 Composer 的 autoloader,所以最标准、推荐的方式是通过命名空间 + 目录结构 + composer.json 配置来实现。
以下是几种常见且实用的添加方式,按推荐顺序排列:
这是 Laravel 官方推荐做法,类会自动
被加载,无需额外配置。
PaymentService),首字母大写use App\Services\PaymentService; 或在控制器中用完整命名空间如果你希望把类放在 `app/Custom/` 或 `src/` 等非默认路径,需手动告诉 Composer:
"autoload": { "psr-4": { ... } } 中添加新映射,例如:composer dump-autoload 刷新自动加载器use App\Custom\SomeClass; 了不推荐用于新开发,但兼容遗留代码时可用:
app/Helpers/StringUtils.php,无 namespace)放入目录composer.json 的 "autoload": { "classmap": [...] } 中添加路径:composer dump-autoload
AppServiceProvider 中绑定(如 $this->app->bind(...))config() 辅助函数基本上就这些。只要命名空间、目录、autoload 配置三者对得上,Laravel 就能顺利找到并加载你的类。