🌲Laravel8多模块/包下的项目结构的简单实践与分享

这个应该是叫包还是模块呢?随便叫了!想大佬们应该还是会比较通融的!

本菜鸡使用laravel开发项目快半天了,因为设计的项目有多个不相互关联的应用的需求,又不想搞的太复杂,所以简单设计了一下多包下的目录结构,测试了一下,还是挺方便的,而且也方便包不同工程的移植!

APP\HTTP\BUNDLES
+---StudentBackstageBundle
|   |   readme.md
|   |
|   +---Controllers
|   |       StudentController.php
|   |
|   \---Routes
\---StudentClientBundle
    |   readme.md
    |
    +---Controllers
    |       StudentController.php
    |
    \---Routes
            webRoute.php

看有一些的项目,都喜欢把路由都放在根routes下的配置文件里,我觉得是不太合理的,所以每一个包都自已再加一个路由配置文件

class webRoute
{

    public static function register()
    {
        Route::group(['prefix' => 'api/student', 'middleware' => 'api.response'], function () {
            Route::get('/random', [StudentController::class, 'randomTemplate'])->name(StudentController::class . '@randomTemplate');
        });
    }
}

然后再到根目录下的routes里去注册路由

\App\Http\Bundles\StudentClientBundle\Routes\webRoute::register();

这样以后这个项目包要关闭了,只需要注释掉一行代码就可以了,还是比较方便好用的!

laravel8下测试了一下,运行正常!

本作品采用《CC 协议》,转载必须注明作者和本文链接
初从文,三年不中;后习武,校场发一矢,中鼓吏,逐之出;遂学医,有所成。自撰一良方,服之,卒。
噜噜生活
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3

有个包记不得叫什么了,支持多模块,模块也有自己的路由和配置。

3年前 评论
噜噜生活

@Elinger 谢谢,我再看看找找,学习借鉴一下!

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!