Laravel 多模塊設(shè)置

注:用于個(gè)人學(xué)習(xí),資料未補(bǔ)充完整,不喜勿噴
官網(wǎng)
Laravel官網(wǎng)文檔

1、安裝

(1)、composer require nwidart/laravel-modules
(2)、php artisan vendor:publish --provider="Nwidart\Modules\LaravelModulesServiceProvider"
(3)、composer.json文件修改
{
  "autoload": {
    "psr-4": {
      "App\\": "app/",
      "Modules\\": "Modules/",
      "Database\\Factories\\": "database/factories/",
      "Database\\Seeders\\": "database/seeders/"
  }

}
(4)、config/app.php下添加
添加服務(wù)提供者
'providers'=>[
    Nwidart\Modules\LaravelModulesServiceProvider::class,
]
添加別名
'aliases'=>[
    'Module'=>Nwidart\Modules\Facades\Module::class,
]
(5)、執(zhí)行:composer dump-autoload
(6)、創(chuàng)建:php artisan module:make Blog

目錄結(jié)構(gòu):


image.png

2、使用

(1)、模塊命令
php artisan module:make Blog 創(chuàng)建一個(gè)(Blog)新模塊
php artisan module:use 使用一個(gè)模塊(這允許執(zhí)行其他命令時(shí)不用輸入模塊名)
php artisan module:unuse 和上面相反
php artisan module:list 列出所有可用模塊
php artisan module:migrate 執(zhí)行某個(gè)模塊的數(shù)據(jù)遷移(或者所有模塊的)
php artisan module:migrate-rollback Blog 執(zhí)行模塊最近一次遷移的回滾
php artisan module:migrate-refresh Blog 執(zhí)行模塊所有回滾后執(zhí)行所有遷移
php artisan module:migrate-reset Blog 執(zhí)行模塊所有回滾
php artisan module:seed Blog 執(zhí)行模塊數(shù)據(jù)填充
php artisan module:publish-migration Blog 發(fā)布遷移
php artisan module:publish-config Blog 發(fā)布配置
php artisan module:publish-translation Blog 發(fā)布語(yǔ)言包
php artisan module:enable Blog 開啟模塊
php artisan module:disable Blog 關(guān)閉模塊
php artisan module:update Blog 升級(jí)模塊

(2)、生成器
php artisan module:make-command CreatePostCommand Blog
php artisan module:make-migration create_posts_table Blog
php artisan module:make-seed seed_fake_blog_posts Blog
php artisan module:make-controller PostsController Blog
php artisan module:make-model Post Blog (可以使用-m同步生成遷移文件)
php artisan module:make-provider BlogServiceProvider Blog
php artisan module:make-middleware CanReadPostsMiddleware Blog
php artisan module:make-mail SendWeeklyPostsEmail Blog
php artisan module:make-notification NotifyAdminOfNewComment Blog
php artisan module:make-listener NotifyUsersOfANewPost Blog
php artisan module:make-listener NotifyUsersOfANewPost Blog --event=PostWasCreated
php artisan module:make-listener NotifyUsersOfANewPost Blog --event=PostWasCreated --queued
php artisan module:make-request CreatePostRequest Blog
php artisan module:make-event BlogPostWasUpdated Blog
php artisan module:make-job JobName Blog(可以使用-sync生成同步任務(wù))
php artisan module:route-provider Blog 為指定的模塊生成給定的路由服務(wù)提供程序。
php artisan module:make-factory FactoryName Blog
php artisan module:make-policy PolicyName Blog
php artisan module:make-rule ValidationRule Blog
php artisan module:make-resource PostResource Blog
php artisan module:make-resource PostResource Blog --collection
php artisan module:make-test EloquentPostRepositoryTest Blog

(3)、模塊方法
$path = module_path('Blog'); 獲取模塊路徑

$module = Module::find('blog');
$module->getName();
$module->getLowerName();
$module->getStudlyName();
$module->getPath(); 模塊路徑
$module->getExtraPath('Assets'); 模塊其他路勁
$module->disable();
$module->enable();
$module->delete();
$module->getRequires(); 獲取模塊依賴的其他模塊

3、可能出現(xiàn)的問(wèn)題

(1)報(bào)錯(cuò):Class "Illuminate\Foundation\Console\ShowModelCommand" not found

laravel與擴(kuò)展nwidart/laravel-modules版本不匹配,安裝時(shí)指定擴(kuò)展版本

轉(zhuǎn)載于:Laravel 模塊化開發(fā)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容