Skip to content

evo-mark/laravel-service-facades

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

evoMark company logo

Build status Total Downloads License

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"]
    );
}