W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
不需要手動(dòng)注冊(cè)模型策略,只要模型和策略遵循標(biāo)準(zhǔn)的 Laravel 命名約定,Laravel 就可以自動(dòng)發(fā)現(xiàn)策略。具體來說,策略必須位于包含模型的目錄下的 Policies
目錄中。例如,模型可以放在 app
目錄中,而策略可以放在 app/Policies
目錄中。此外,策略名稱必須與模型名稱匹配,并具有 Policy
后綴。因此,一個(gè) User
模型將對(duì)應(yīng)于一個(gè) UserPolicy
類。
如果希望提供自己的策略發(fā)現(xiàn)邏輯,可以使用 Gate::guessPolicyNamesUsing
方法注冊(cè)自定義回調(diào)。通常,這個(gè)方法應(yīng)該從應(yīng)用程序的 AuthServiceProvider
的 boot
方法中調(diào)用:
use Illuminate\Support\Facades\Gate;
Gate::guessPolicyNamesUsing(function ($modelClass) {
// return policy class name...
});
注意:在
AuthServiceProvider
中顯式映射的任何策略都將優(yōu)先于任何潛在的自動(dòng)發(fā)現(xiàn)策略。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: