Как вызвать метод из AdminAuthServiceProvider в контроллере laravel? - PullRequest
0 голосов
/ 06 мая 2019

В AuthServiceProvider у меня есть следующая строка в функции загрузки.

 Auth::provider('customer', function($app, array $config){
     return new CustomerAuthServiceProvider();
 });

Мне нужно вызвать метод из CustomerAuthServiceProvider в контроллере. я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 06 мая 2019

createUserProvider метод доступен через Illuminate\Auth\CreatesUserProviders черту Illuminate\Auth\AuthManager

Вы можете получить экземпляр класса AuthManager через Illuminate\Support\Facades\Auth Фасад.

use Illuminate\Support\Facades\Auth;
//...

class WhatController extends Controller {
   public function index()
   {
      $provider = Auth::createUserProvider('customer');
   }
}

Обратите внимание, что запись customer должна быть включена в массив providers в config/auth.php

providers' => [
  //...
  customer' => [
   'driver' => 'eloquent',
   'model' => App\WhatCustomer::class,
  ]
]
0 голосов
/ 06 мая 2019

Зарегистрируйте свой CustomerAuthServiceProvider в списке поставщиков config/App.php;А затем вызовите его в вашем контроллере, используя его псевдоним use CustomerAuth, (вы можете использовать любой псевдоним) в верхней части вашего контроллера.https://laravel.com/docs/5.8/providers

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...