evo-mark / evo-laravel-service-facades
Support package for easily using the service/facade pattern
Installs: 26
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:package
Requires
- laravel/prompts: ^0.1.25|^0.2.0|^0.3.0|^0.4.0
- spatie/laravel-package-tools: ^1.16
README
Evo Laravel Service Facades
Create services with a backing facade in multiple pre-defined locations, then automatically load them into your application.
Generate PHP Doc annotations for your facades to enable type-hinting in your IDE.
Installation
composer require evo-mark/evo-laravel-service-facades
Usage
php artisan make:service php artisan facades:annotate
To keep your annotations up-to-date, you should add the following to your application's composer.json
file:
"post-autoload-dump": [ "@php artisan facades:annotate --no-interaction" ],
By default, your app's Service and Facades folders will be used as the default "location". You can change this by publishing the package's config file.
You can also add to the available locations during application boot by calling:
use EvoMark\EvoLaravelServiceFacades\Facades\ServiceFacades; public function boot() { ServiceFacades::registerLocation( name: "Custom Location", serviceNamespace: "App\\CustomServices", facadeNamespace: "App\\CustomFacades", servicePath: app_path('CustomServices'), facadePath: app_path('CustomFacades'), exclude = ["SomeExcludedService"] ); }