Laravel中放置文件的正确位置是什么?

3

我刚接触Laravel,正在努力学习。

我想创建多个自定义异常类,但是不确定它们应该放在哪里。

  • 我应该在'app'中创建一个文件夹,并将它们放在其中,然后从global.php手动包含这些文件吗?
  • 还是应该创建一个服务提供者?

目前,我已经在app中创建了一个名为“exceptions”的文件夹,并将其路径添加到ClassLoader::addDirectories 中。我希望能得到一些建议。

2个回答

2
您是否正在使用Composer? 例如,使用Composer,您可以将自己的自动加载配置放置在以下位置:
"autoload": {
    "classmap": [
        "app/commands",
        "app/controllers",
        "app/database/migrations",
        "app/database/seeds"
    ],
    "psr-4": {
        "Exceptions\\": "src/Exceptions",
        "Services\\": "src/Services",
        "Api\\": "src/Api"
    }
},

作为结果,您的异常文件 /src/Exceptions/Specific/ExtraSpecificException.php 将可用。
namespace Exceptions\Specific;


class ExtraSpecificException extends \Exception
{}

1

Laravel没有固定的存储自定义异常的位置,您可以将它们放在任何地方。

创建一个app/exceptions/目录是可以的 - 您可以通过添加以下内容在global.php文件中自动加载它们:

app_path() . '/exceptions/'

将内容添加到ClassLoader::addDirectories数组中。

如果您有很多内容并且希望更加有组织,可以使用命名空间来命名您的异常类,并利用composer的PSR-4自动加载功能。


是的,最终我采用了这种方法。谢谢! - Prakash Raman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接