這個應該是叫包還是模組呢?隨便叫了!想大佬們應該還是會比較通融的!
本菜雞使用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 協議》,轉載必須註明作者和本文連結