laravel 安裝後是單模塊應用,但一般狀況下,咱們的項目每每會有不少模塊,若是按單模塊去作,文件目錄會異常龐大,不利於維護,耦合性太大。
那麼下面就詳細說一下利用最新laravel5.5如何進行分模塊開發。php
composer create-project --prefer-dist laravel/laravel ./
app artisan bootstrap composer.json composer.lock config database modules package.json phpunit.xml public readme.md resources routes server.php storage tests vendor webpack.mix.js
modules的目錄結構爲html
modules/ ├── Backend │ ├── Controllers │ ├── helpers.php │ ├── Middlewares │ ├── Models │ ├── Providers │ │ ├── BaseServiceProvider.php │ │ └── RouteServiceProvider.php │ └── Requests │ └── helpers.php ├── Base │ ├── Controllers │ ├── helpers.php │ ├── Middlewares │ ├── Models │ ├── Providers │ │ ├── BaseServiceProvider.php │ │ └── RouteServiceProvider.php │ └── Requests └── Frontend ├── Controllers ├── helpers.php ├── Middlewares ├── Models ├── Providers │ ├── BaseServiceProvider.php │ └── RouteServiceProvider.php └── Requests
{ "name": "laravel/laravel", ... "autoload": { "classmap": [ "database/seeds", "database/factories" ], "psr-4": { "App\\": "app/", "Base\\": "modules/Base/", "Backend\\": "modules/Backend/", "Frontend\\": "modules/Frontend/" }, "files": [ "modules/Base/helpers.php" ] } ... }
composer dumpauto
命名空間舉例webpack
<?php return [ //省略以前內容 'providers' => [ //... // 模塊化的Provider Base\Providers\BaseServiceProvider::class, //公共基本服務Provider Backend\Providers\BaseServiceProvider::class, //後臺服務Provider Frontend\Providers\BaseServiceProvider::class, //前臺基本服務Provider ], //省略以後內容 ];
- base.php - backend.php - frontend.php
routes/ ├── api.php ├── backend.php ├── base.php ├── channels.php ├── console.php ├── frontend.php └── web.php
源碼託管於碼雲 http://git.oschina.net/techle...laravel
原文連接 http://www.tech1024.cn/origin...git