Я пытаюсь создать свой собственный Фасад и зарегистрироваться с помощью пользовательского сервисного контейнера и, наконец, создать собственный псевдоним для этого фасада.
Я не уверен, какая часть не работает, возможно, есть проблема с регистрацией сервисного контейнера или с псевдонимом?
Начнем с моего фасада:
/**
*
* @see \App\Library\Facades\ViewWrapper\CustomView
*/
class CustomViewFacade extends Facade
{
protected static function getFacadeAccessor()
{
return 'customview';
}
}
Мой класс CustomView с логикой и функцией show
namespace App\Library\Facades\ViewWrapper;
...
class CustomView
{
public function show(...) { ... }
...
}
Мой CustomViewServiceProvider
namespace App\Providers;
...
class CustomViewServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*
* @return void
*/
public function register()
{
$this->app->singleton(CustomViewFacade::class);
$this->app->alias(CustomViewFacade::class, 'customview');
}
}
Как мне зарегистрировать провайдера в config\app.php
App\Providers\CustomViewServiceProvider::class,
Как создать псевдоним в config\app.php
'CustomView' => App\Library\Facades\ViewWrapper\CustomViewFacade::class
В моем контроллере я использую фасад так:
use CustomView;
...
public function show(ImageRequest $imagerequest)
{
return CustomView::show(...);
}
Я получаю следующую ошибку в контроллере:
Класс 'CustomView' не найден
Что я здесь не так делаю?
EDIT
После очистки конфигурации и дампа автозагрузки композитора я получаю следующую ошибку:
вызов неопределенного метода App \ Library \ Facades \ ViewWrapper \ CustomViewFacade :: show ()