Download .zip |
Info | Documentation | View files (28) | Download .zip | Reputation | Support forum | Blog | Links |
Last Updated | Ratings | Unique User Downloads | Download Rankings | |||||
2018-06-01 (3 months ago) | Not yet rated by the users | Total: 42 | All time: 9,292 This week: 322 |
Version | License | PHP version | Categories | |||
artisan-make-file-lo 1.0 | MIT/X Consortium ... | 7 | Utilities and Tools, Libraries, Console, C..., P... |
Ability to change the namespace/location of the files generated by the "artisan make" commands.
This package requires Laravel 5.4 or later and PHP 7.0.0 or later.
$ composer require diego-rlima/artisan-make-file-location
For Laravel 5.4, you must register the service provider of this package.
Add the code below in the providers section of your config/app.php
file.
DRL\AMFL\ArtisanServiceProvider::class,
You can use all "artisan make" commands as usual. But now, you can add the options --prefix and --suffix to change the namespace of your files.
Note: For files that do not have namespace (like migrations), only the prefix can be used.
$ php artisan make:controller ProductController --prefix=Units\\Products\\Controllers
This will output the file with the namespace App\Units\Products\Controllers.
$ php artisan make:controller ProductController --suffix=Products
This will output the file with the namespace App\Http\Controllers\Products.
$ php artisan make:controller ProductController --prefix=Units --suffix=Products
This will output the file with the namespace App\Units\Controllers\Products.
The package is configured to be compatible with the Laravel standard, but allowing you to set prefixes and suffixes. However, you can replace the Laravel pattern with your own.
Publish the config using the following command:
$ php artisan vendor:publish --provider="DRL\AMFL\ArtisanServiceProvider"
Now you have a config/amfl.php file. The settings are divided between files that have namespaces and files that they do not have.
return [
/*
|--------------------------------------------------------------------------
| Files namespaces
|--------------------------------------------------------------------------
*/
// List of all files with namespace. Eg.:
'controller' => '{root}\{prefix|default:Http}\Controllers\{suffix}',
'test' => '{root}\{prefix}\{type}\{suffix}',
/*
|--------------------------------------------------------------------------
| Files locations
|--------------------------------------------------------------------------
*/
// List of all files without namespace. Eg.:
'seeder' => '{root}/{prefix}/seeds/{name}.php',
];
For files with namespace, the {root} normally will be replaced by the "App" namespace. Of curse, {prefix} and {suffix} will be replaced by the prefix and suffix you choose.
In the test files, {root} will be changed to "Tests" namespace. These files also have namespace variation. The {type} will be changed to "Unit" or "Feature".
For files without namespace, the {root} will be replaced by the root directory of application. The {prefix} and {name} will be replaced by the prefix and the file name, respectively.
Important: If you are going to create the migrations in another folder, make sure the folder is already created, or the migration will not be created. This is due to the way the original command was written.
All you have to do is add |required
to the file configuration. Eg.:
return [
// Now you will always have to enter a prefix when creating a Model.
'model' => '{root}\{prefix|required}',
// The same for the notification suffix.
'notification' => '{root}\{prefix}\Notifications\{suffix|required}',
];
Just add |default:YouDefaultValue
to the file configuration. Eg.:
return [
// Now, if you do not set a prefix, the default value will be used.
'model' => '{root}\{prefix|default:Models}',
// The same for the suffix.
'rule' => '{root}\{prefix}\Rules\{suffix|default:Admin}',
];
Note: Default values will not be applied if prefix/suffix is required.
Command | Supports prefix | Supports suffix | Min. Laravel Version :-------------------|:----------------|:----------------|:---------------- make:channel | yes | yes | 5.6 make:command | yes | yes | 5.4 make:controller | yes | yes | 5.4 make:event | yes | yes | 5.4 make:exception | yes | yes | 5.6 make:factory | yes | no | 5.6 make:job | yes | yes | 5.4 make:listener | yes | yes | 5.4 make:mail | yes | yes | 5.4 make:middleware | yes | yes | 5.4 make:migration | yes | no | 5.4 make:model | yes | no | 5.4 make:notification | yes | yes | 5.4 make:policy | yes | yes | 5.4 make:provider | yes | yes | 5.4 make:request | yes | yes | 5.4 make:resource | yes | yes | 5.6 make:rule | yes | yes | 5.6 make:seeder | yes | no | 5.4 make:test | yes | yes | 5.4
Files |
File | Role | Description | ||
---|---|---|---|---|
config (1 file) | ||||
src (4 files, 1 directory) | ||||
composer.json | Data | Auxiliary data | ||
LICENSE | Lic. | License text | ||
README.md | Doc. | Documentation |
Files | / | src |
File | Role | Description | ||
---|---|---|---|---|
Commands (20 files) | ||||
ArtisanServiceProvider.php | Class | Class source | ||
CommandSetup.php | Class | Class source | ||
CommandsList.php | Class | Class source | ||
TraitCommand.php | Class | Class source |
Files | / | src | / | Commands |
File | Role | Description |
---|---|---|
ChannelMakeCommand.php | Class | Class source |
ConsoleMakeCommand.php | Class | Class source |
ControllerMakeCommand.php | Class | Class source |
EventMakeCommand.php | Class | Class source |
ExceptionMakeCommand.php | Class | Class source |
FactoryMakeCommand.php | Class | Class source |
JobMakeCommand.php | Class | Class source |
ListenerMakeCommand.php | Class | Class source |
MailMakeCommand.php | Class | Class source |
MiddlewareMakeCommand.php | Class | Class source |
MigrateMakeCommand.php | Class | Class source |
ModelMakeCommand.php | Class | Class source |
NotificationMakeCommand.php | Class | Class source |
PolicyMakeCommand.php | Class | Class source |
ProviderMakeCommand.php | Class | Class source |
RequestMakeCommand.php | Class | Class source |
ResourceMakeCommand.php | Class | Class source |
RuleMakeCommand.php | Class | Class source |
SeederMakeCommand.php | Class | Class source |
TestMakeCommand.php | Class | Class source |
artisan-make-file-lo-2018-06-01.zip 18KB | |
artisan-make-file-lo-2018-06-01.tar.gz 7KB | |
Install with Composer |
Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
100% |
|
|
Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.