3

Voyager の User クラスにいくつかのミューテーターを追加したいのですが、vendor フォルダー内は何も変更しません。また、Voyages はパッケージ内で User モデルを使用します。どういうわけか、これを変更することは可能ですか?

4

2 に答える 2

0

ほとんどの場合、ベンダー パッケージの拡張は問題なく機能します。

Voyager 構成の更新

見るconfig/voyager.php

このようにユーザー配列を変更します。namespacevoyager ユーザー 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パッケージに変更を加えた後にやらなければならないことがあります。

于 2017-01-20T00:33:23.207 に答える