clean-code-studio / laravel-make-facades
Laravel Artisan Command To Generate Facades (php artisan make generator now execpts facade Facadename)
Requires
- php: ^7.1.3
This package is auto-updated.
Last update: 2024-12-06 08:06:09 UTC
README
- Installation
- Publish Package via Artisan
- Configure Package Settings
- Use Make Facades Service
- Laravel Make Facades Youtube Tutorial
- In Closing
Youtube Tutorial For This Package
Laravel Make Facades (Simplified Package Tutorial)
Installation
Comoser Install
composer require clean-code-studio/laravel-make-facades --dev
Publish Package via Artisan
Publish Configuration File
php artisan vendor:publish
- Select
CleanCodeStudio\MakeFacades\ServiceProvider
Configure Package Settings
Define Config Settings
- Open
config/make-facades.php
- Note:
config/make-facades.php
is created during the previous step when we publish this package via artisan
- Note:
- Configure
config/make-facades.php
settings- Path: Facades folder path (where new facades created using this package will be stored)
- Namespace: Namespace for every facade created using this package
- Providers Path: Updated to support Laravel 8 release (See @see zhorton34#4)
- Auto Alias Facades: Whether you want to automatically bind all services within a given folder to its own Facade automatically.
Laravel Make Facades - Config Settings
- File Path:
config/make-facade.php example
return [ // Directory path save your facades 'path' => 'app/facades', // Namespace Of Your Facades 'namespace' => 'App\\Facades', // Providers path (@see https://github.com/zhorton34/laravel-make-facades/issues/4) 'providers_path' => 'app/Providers', // This will find all of the aliases and services defined in your path settings and // 1. Bind the service classes for each facade to the service container automatically // 2. Register aliases for each facade base on the Class Name the Facade Reference to the service container automatically 'auto_alias_facades' => true, ];
Use Make Facades Service
- Run:
php artisan make:facade MyCoolService
- Creates Scaffold for
MyCoolService
class - Creates Scaffold for
MyCoolServiceFacade
class - Note:
- If
'auto_alias_facades' => true
inconfig/make-facade.php
then the service will automatically be binded to your service container - If
'auto_alias_facades' => false
inconfig/make-facade.php
then you need to bind your generated service class to the service container in any service provider for the facade to properly work.
- Creates Scaffold for
MyCoolService Class
- By Default created to
App\Facades\MyCoolService\MyCoolService.php
<?php namespace App\Facades\MyCoolService; class MyCoolService { // create MyCoolService class }
MyCoolServiceFacade Class
- By Default created to
App\Facades\MyCoolService\MyCoolServiceFacade.php
<?php namespace App\Facades\MyCoolService; use Illuminate\Support\Facades\Facade; class MyCoolServiceFacade extends Facade { protected static function getFacadeAccessor() { return 'MyCoolService'; } }
Note: auto_alias_facades in config
- If
'auto_alias_facades' => true
inconfig/make-facade.php
then the service will automatically be binded to your service container - If
'auto_alias_facades' => false
inconfig/make-facade.php
then you need to bind your generated service class to the service container in any service provider for the facade to properly work.
Laravel Make Facades Youtube Tutorial
Laravel Make Facades (Simplified Package Tutorial)
- Screencast
- Laravel Facades Tutorial
- This package's installation and usage
In Closing
-
A. Remember You Can Auto Bind The Services and Auto Aliases Your Service Facades Simply By Setting
auto_alias_facades
to TRUE within youconfig/make-facades.php
file! Simple, quick, and easy. -
B. If you do change your namespace or file path in your config, Facades and Facade Services within the old namespace and old file path WILL NOT AUTOMATICALLY REGISTER TO THE CONTAINER.
-
C. If you do not want to auto register or automatically add the aliases for your generated facades, simply set
auto_alias_facades
to false within yourconfig/make-facades.php
file
Clean Code Studio ~ Clean Code Clean Life ~ Simplify!