Прежде всего вы создаете класс фасада, как это:
namespace App\Facades;
use Illuminate\Support\Facades\Facade;
class SomeFacade extends Facade
{
protected static function getFacadeAccessor()
{
return 'someService';
}
}
Затем создать класс обслуживания, которые держат свои функциональные возможности:
namespace App\Services;
class SomeService { ... }
Наконец, вы должны зарегистрировать его и установите для него псевдоним (не обязательно):
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class AppServiceProivider extends ServiceProvider
{
(...)
public function register()
{
$this->app->singleton('someService', function() {
return new \App\Services\SomeService();
});
$this->app->alias('SomeServiceFacade', \App\Facades\SomeFacade::class);
}
}
Теперь вы можете позвонить своим методам из SomeService
с:
SomeServiceFacade::someMethhod();
или
app('someService')->someMethhod();
Если вы не 'ум Пожалуйста, вы можете объяснить это больше с файлами заголовков/ –
С«заголовочных файлов»вы имеете в виду, что? –
Я имею в виду, пожалуйста, объясните этот пример полным кодом, включая пространства имен. –