Voyager の User クラスにいくつかのミューテーターを追加したいのですが、vendor フォルダー内は何も変更しません。また、Voyages はパッケージ内で User モデルを使用します。どういうわけか、これを変更することは可能ですか?
2 に答える
ほとんどの場合、ベンダー パッケージの拡張は問題なく機能します。
Voyager 構成の更新
見る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 リポジトリをパッケージ フォルダーに複製するか、作成したパッケージ フォルダーにベンダー tcg フォルダーを切り貼りします。したがって、ディレクトリは次のようになります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 update を実行します
composer dump-autoload
パッケージに変更を加えた後にやらなければならないことがあります。