🌲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 协议》,转载必须注明作者和本文链接
有个包记不得叫什么了,支持多模块,模块也有自己的路由和配置。
@Elinger 谢谢,我再看看找找,学习借鉴一下!
这个:github.com/nWidart/laravel-modules