我想在Voyager的用戶類中添加一些增變器,但我不會更改供應商文件夾內的任何內容,而且Voyages在包內使用用戶模型。不知何故,我可以改變這種情況嗎?更改航海家模型
Q
更改航海家模型
1
A
回答
1
夠簡單。修改默認的Laravel用戶模型
<?php
namespace App\Models;
use TCG\Voyager\Models\User as VoyagerUser;
class User extends VoyagerUser {
// add custom mutators and other code in here
}
然後你就可以更新app/config/voyager.php
爲@aimme說,並把它作爲
'user' => [
'add_default_role_on_register' => true,
'default_role' => 'user',
'admin_permission' => 'browse_admin',
'namespace' => App\User::class,
],
這樣你帶來航海的用戶模型的力量,你自己有沒有涉及黑客。
0
對於大多數情況下擴展供應商包工作正常。
更新旅行者配置
參見config/voyager.php
改變用戶陣列這樣的。我在這裏只更改了namespace
,來自voyager用戶tp App \ User。
'user' => [
'add_default_role_on_register' => true,
'default_role' => 'user',
'admin_permission' => 'browse_admin',
'namespace' => App\User::class,
],
但要帶來額外的變化,你可以嘗試下面的方式。
將整個voyager包加載爲本地包。
警告:這樣做後,包不再是供應商 包。
要做到這一點
1 - 對項目的根目錄創建一個包文件夾。
2 - 將tcg/voyager repo克隆到packages文件夾或將paste vendor tcg文件夾剪切到您創建的packages文件夾中。所以你會有這樣的目錄yourproject/packages/tcg/voyager
。如果您在composer.json中需要tcg/voyager,請將其從中刪除。
3 - 更新項目根目錄下的composer.json文件。自動加載TCG\\Voyager
。見下面的例子,在psr-4裏面加了一行。
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/",
"TCG\\Voyager\\": "packages/tcg/voyager/src/"
}
},
4 - 運行作曲家更新
有時你可能把更改後的包做composer dump-autoload
。
相關問題
- 1. 更新家長模型更新兒童
- 2. 更改模型
- 3. 嵌套在航海家反應,導航和一個內間導航外一個
- 4. 模型更改ContainerView更新
- 5. 骨幹更改模型並更改新模型的屬性
- 6. 使用美國國家航空航天局WorldWind SDK的海拔值
- 7. 通過WPF視圖模型更改源代碼導航框架
- 8. 在Rails中更改模型的導航標籤Admin
- 9. ios的海洋航海圖API
- 10. 導航時更新模型變量
- 11. 更改導航
- 12. 動態更改gtkListStore模型
- 13. 更改視圖模型
- 14. CouchDB文檔模型更改?
- 15. Django和RDS更改模型
- 16. AngularJS如何更改模型
- 17. EmberData模型定義更改
- 18. codefirst - 模型更改命令
- 19. RealmMigrationNeededException更改Realm模型時
- 20. yii2更改gridview模型
- 21. Laravel模型更改爲API
- 22. falcor:訂閱模型更改?
- 23. MVC模型通知更改
- 24. WooCommerce更改電子郵件收件人根據航運國家
- 25. Woocommerce:根據航運國家更改總價
- 26. 配置更改期間的ActionBar導航模式更改
- 27. 從模型更新數據庫(模型更改時)?
- 28. 更新模型以反映對其他模型的更改
- 29. 模板不更新後模型改變
- 30. 搬家will_paginate的模型
切勿觸碰'vendor',因爲一旦觸摸'Composer'等,您的更改將不會被反映。另外'vendor'應該總是'.gitignore',所以你不能將你的工作保存到repo中。 – slick
更新了我的回答 – aimme