Laravel-L5模块化按文件夹组织模块会导致路由错误


Laravel - L5Modular Organizing modules by folder causes routing errors

您好,我最近一直在使用laravel进行编程,发现L5Modular符合我的需求,直到遇到一个问题。我收到

RouteCollection.php中的NotFoundHttpException第161行:

创建此类文件夹设置时出错。

laravel-project/
    app/
    |-- Modules/
        |-- backend/
            |-- ModuleOne/
                |-- Controllers/
                   |-- FoobarController.php
                |-- Models/
                   |-- Foobar.php
                |-- Views/
                   |-- index.blade.php
                |-- Translations/
                   |-- en/
                      |-- example.php
                      |-- routes.php
                      |-- helper.php
        |-- frontend/
            |-- ModuleTwo/
                |-- Controllers/
                   |-- FoobarController.php
                |-- Models/
                   |-- Foobar.php
                |-- Views/
                   |-- index.blade.php
                |-- Translations/
                   |-- en/
                      |-- example.php
                      |-- routes.php
                      |-- helper.php

我喜欢这种结构的原因是因为我曾经对CI进行编码。有什么方法可以绕过这种结构而不依赖route.php吗?谢谢你的回答。

如果您没有添加配置文件,此包将通过查找Modules文件夹的第一级来加载模块。在您的情况下,有frontendbackend。然后,服务提供商在这些"假定"模块(FA routes.php)中查找所需的文件。但在您的情况下,没有这样的文件。

您可以做的是将modules.php添加到您的项目app/config文件夹中,该文件夹应该包含以下内容:

return [
    'enable' => array(
        'backend/ModuleOne',
        'frontend/ModuleTwo',
    ),
];