摘要:所以我決定在命名空間內(nèi)組織我的模型。更新用戶模型要做到這一點(diǎn),你需要做的第一件事就是將模型移動(dòng)到目錄并相應(yīng)地更新命名空間。第一個(gè)是修改這里第二個(gè)是文件修改這里最后,修改文件生成模型現(xiàn)在我們已經(jīng)改變了模型的命名空間,但是如何生成新的模型。
我經(jīng)常發(fā)現(xiàn)自己希望在Laravel應(yīng)用程序中獲得更多關(guān)于模型的結(jié)構(gòu)。
默認(rèn)情況下,模型位于 App 命名空間內(nèi),如果你正在處理大型應(yīng)用程序,這可能會(huì)變得非常難以理解。所以我決定在 AppModels 命名空間內(nèi)組織我的模型。
更新用戶模型要做到這一點(diǎn),你需要做的第一件事就是將 User 模型移動(dòng)到 app/Models 目錄并相應(yīng)地更新命名空間。
這要求你更新引用 AppUser 類的所有文件。
第一個(gè)是 config/auth.php:
"providers" => [ "users" => [ "driver" => "eloquent", "model" => AppModelsUser::class, // 修改這里 ], ],
第二個(gè)是 config/services.php 文件:
"stripe" => [ "model" => AppModelsUser::class, // 修改這里 "key" => env("STRIPE_KEY"), "secret" => env("STRIPE_SECRET"), ],
最后,修改 database/factories/UserFactory.php 文件:
$factory->define(AppModelsUser::class, function (Faker $faker) { ... });生成模型
現(xiàn)在我們已經(jīng)改變了 User 模型的命名空間,但是如何生成新的模型。正如我們所知,默認(rèn)情況下它們將被放置在 App 命名空間下。
為了解決這個(gè)問題,我們可以擴(kuò)展默認(rèn)的 ModelMakeCommand :
并通過將以下內(nèi)容添加到 AppServiceProvider 中來覆蓋服務(wù)容器中的現(xiàn)有綁定:
app->extend("command.model.make", function ($command, $app) { return new ModelMakeCommand($app["files"]); }); } }以上就是需要修改的?,F(xiàn)在我們可以繼續(xù)生成模型,就像我們在我們的終端中使用的一樣:php artisan make:model Order,它們將位于 AppModels 命名空間中。
希望你能使用它!
更多PHP知識(shí),可前往PHPCasts
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/30737.html
摘要:控制只是用來接收請(qǐng)求并請(qǐng)求邏輯處理類。事實(shí)上,業(yè)務(wù)邏輯無需感知網(wǎng)絡(luò),網(wǎng)絡(luò)僅僅接入應(yīng)用的傳輸機(jī)制,他不應(yīng)超出應(yīng)用中的路由和控制器的范疇。職責(zé)分離是編寫健壯應(yīng)用的關(guān)鍵。其他通常,類庫應(yīng)該以規(guī)范組織在我們的應(yīng)用中。 聲明:本文并非博主原創(chuàng),而是來自對(duì)《Laravel 4 From Apprentice to Artisan》閱讀的翻譯和理解,當(dāng)然也不是原汁原味的翻譯,能保證90%的原汁性,另...
摘要:但是模型中數(shù)據(jù)的變化一般會(huì)通過一種刷新機(jī)制被公布。它處理事件并作出響應(yīng)。事件包括用戶的行為和數(shù)據(jù)模型上的改變。三開始開發(fā)自己的框架在開始開發(fā)前,讓我們先來把項(xiàng)目建立好,假設(shè)我們建立的項(xiàng)目為,那么接下來的第一步就是把目錄結(jié)構(gòu)先設(shè)置好。 現(xiàn)如今市面上有許多PHP框架,像 ThinkPHP、YII、Laravel,那么如何自己搭建一個(gè)PHP框架呢?這里有一篇博文寫的非常好,特意轉(zhuǎn)載過來,供朋...
摘要:當(dāng)查詢數(shù)據(jù)時(shí),本地范圍允許我們創(chuàng)建自己的查詢構(gòu)造器鏈?zhǔn)椒椒?。這樣便會(huì)知道這是一個(gè)本地范圍并且可以在查詢構(gòu)造器中使用。某些查詢構(gòu)造器不可用或者說可用但是方法名不同,關(guān)于這些請(qǐng)查閱所有集合的方法。 showImg(https://segmentfault.com/img/remote/1460000017877956?w=800&h=267); Laravel 因可編寫出干凈,可用可調(diào)試的...
摘要:轉(zhuǎn)至應(yīng)用程序根目錄中的命令行并運(yùn)行以下命令以創(chuàng)建新的服務(wù)提供者。將會(huì)提示運(yùn)行結(jié)果一旦服務(wù)提供者成功創(chuàng)建,打開該文件。現(xiàn)在我們的服務(wù)提供者已經(jīng)完成,我們需要注冊我們的服務(wù)提供者,所以,會(huì)在引導(dǎo)期間加載它。這就是為服務(wù)提供者創(chuàng)建你的幫手。 Laravel 為我們提供了許多內(nèi)置的幫助函數(shù),你可以在應(yīng)用程序中的任何位置調(diào)用它。它們使你可以方便地處理數(shù)組和對(duì)象,路徑,字符串,URL和其他類型的工...
摘要:廢話不多說,下面我簡單介紹一下兩個(gè)包的用法吧。還有的是這里使用了,如何去理解以及更好地使用最后,當(dāng)然是要感謝超哥。經(jīng)討論更名為更名為更名為更名為 showImg(https://pigjian.com/storage/post_img/2017-04-12/follow-vote.png); 本文主要介紹兩個(gè)包: Laravel - Follow : https://github.co...
閱讀 713·2021-09-29 09:34
閱讀 2567·2019-08-30 15:53
閱讀 3371·2019-08-29 17:17
閱讀 772·2019-08-29 16:08
閱讀 1132·2019-08-29 13:03
閱讀 960·2019-08-27 10:54
閱讀 695·2019-08-26 13:39
閱讀 2866·2019-08-26 13:34