2017-04-13 10 views
2

Laravelバージョンによってauth.phpでガードし、プロバイダを追加します。カスタムパッケージをインストールするときに、他の開発者がauth.phpに手作業を入れる必要はありません。は、サービス・プロバイダ

私はauth.phpで 'providers'と 'guard'を入力したいだけです。

答えて

0

カスタムパッケージを作成する場合は、独自の設定ファイルを作成して公開することをお勧めします(check here)。 auth.phpはlaravelや他のパッケージで使用されているため、変更すると影響を受けます。

+0

I:あなたの認証ドライバを使用する必要がある誰

Auth::provider('myprovidername',function ($app,array $config) { return myproviderobject }); Auth::extend("myguard", function ($app,$name, array $config) { return myguard; }); 

はちょうど彼らのconfig/auth.phpに次のように置くことができます既存のアプリケーションに影響を与えたくありません。おそらくその人は既にカスタムのauth.phpを持っています。 –

+0

正確なシナリオを定義してください。 –

+0

多くの人が、既にラーベルアプリケーションを動かしています。私はあなたの既存のlaravel設定/データベースには影響しないカスタム電子商取引パッケージを作った。 私は自分のServiceProviderを通じてプロバイダにプロバイダを追加することができないと考えていました。これはあなたのauth.phpにこれを追加することで動作します: 'プロバイダー' => [ 'users' => [ 'driver' => 'eloquent'、 'model' => App \ User :: class、 ]、 'husers' => ['driver' => 'eloquent'、 'model' => MyPackage \ Backend \ Models \ User :: class、 ] –

1

は、はい、それは可能です:

サービスプロバイダ boot()

は行います

'guards' => [ 
    // ... 
    'myguardconfig' => [ 
      'driver' => 'myguard', 
      'provider' => 'myproviderconfig' 
    ] 
] 

//... 

'providers' => [ 
     // ... 
     'myproviderconfig' => [ 
       'driver' => 'myprovidername' 
     ] 
    ] 
+0

最後のステップも自動的に行うことは可能ですか?私は最初のステップに精通しています。私は多くのステップでクリーンインストールガイドをしたい: –

+0

@matthijsneijenhuijs https://laracasts.com/discuss/channels/laravel/publishing-config-and-migrations-from-included-package-in-laravelかもしれない助けて。独自のパッケージ設定を書き込んで、マージすることができます。 – apokryfos

+1

Thnx、これが解決策です! [code] $ this-> mergeConfigFrom(__DIR__。/Config/provider.php '、' auth.providers '); $ this-> mergeConfigFrom(__DIR__。/Config/guard.php '、' auth.guards '); [/ code] –

関連する問題