evo-mark / evo-laravel-service-facades
Support package for easily using the service/facade pattern
Installs: 43
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.
php artisan v:p --provider="EvoMark\EvoLaravelServiceFacades\Provider"
If you'd prefer, you can instead 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"] ); }