我刚接触Laravel,正在努力学习。
我想创建多个自定义异常类,但是不确定它们应该放在哪里。
- 我应该在'app'中创建一个文件夹,并将它们放在其中,然后从global.php手动包含这些文件吗?
- 还是应该创建一个服务提供者?
目前,我已经在app中创建了一个名为“exceptions”的文件夹,并将其路径添加到ClassLoader::addDirectories
中。我希望能得到一些建议。
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/database/migrations",
"app/database/seeds"
],
"psr-4": {
"Exceptions\\": "src/Exceptions",
"Services\\": "src/Services",
"Api\\": "src/Api"
}
},
namespace Exceptions\Specific;
class ExtraSpecificException extends \Exception
{}
Laravel没有固定的存储自定义异常的位置,您可以将它们放在任何地方。
创建一个app/exceptions/目录是可以的 - 您可以通过添加以下内容在global.php文件中自动加载它们:
app_path() . '/exceptions/'
将内容添加到ClassLoader::addDirectories数组中。
如果您有很多内容并且希望更加有组织,可以使用命名空间来命名您的异常类,并利用composer的PSR-4自动加载功能。