Krayin Package Generator will create a sample package for you with a single command
It packs in lots of demanding features that allows your business to scale in no time:
- Create package with a single command.
- Krayin: v2.0.x
Go to the root folder of Krayin and run the following command
composer require krayin/krayin-package-generator
That's it, now just execute the project on your specified domain.
After setting up, you will see that there are list of package commands which help you to make your package creation smooth.
Below are the list of commands, If no arguments are passed, it will prompt for the required argument.
S. No. | Commands | Info | Required Arguments | Optional Arguments |
---|---|---|---|---|
01. | package:make | Create a new package. | package-name | --force, --plain |
02. | package:make-controller | Create a new controller. | controller-name, package-name | --force |
03. | package:make-route | Create a new routes file. | package-name | --force |
04. | package:make-model | Create a new model class. | model-name, package-name | --force |
05. | package:make-model-proxy | Create a new model proxy class. | model-proxy-name, package-name | --force |
06. | package:make-model-contract | Create a new model contract. | model-contract-name, package-name | --force |
07. | package:make-migration | Create a new migration class. | migration-name, package-name | |
08. | package:make-seeder | Create a new seeder class. | seeder-name, package-name | --force |
09. | package:make-request | Create a new request class. | request-name, package-name | --force |
10. | package:make-middleware | Create a new middleware class. | middleware-name, package-name | --force |
11. | package:make-datagrid | Create a new datagrid class. | datagrid-name, package-name | --force |
12. | package:make-repository | Create a new repository class. | repository-name, package-name | --force |
13. | package:make-provider | Create a new service provider class. | provider-name, package-name | --force |
14. | package:make-event | Create a new event class. | event-name, package-name | --force |
15. | package:make-listener | Create a new listener class. | listener-name, package-name | --force |
16. | package:make-notification | Create a new notification class. | notification-name, package-name | --force |
17. | package:make-mail | Create a new mail class. | mail-name, package-name | --force |
18. | package:make-command | Create a new command class. | command-name, package-name | --force |
19. | package:make-module-provider | Create a new module service provider class. | provider-name, package-name | --force |
--force : To overwrite the files
--plain : When you need only directory structure template, files are not included when this argument is passed
This command will generate all the necessary files which previously you create manually for your package.
php artisan package:make ACME/TestPackage
For e.g., If you want to create a package which named as 'TestPackage', then you need to use the command like this,
php artisan package:make ACME/TestPackage
This will create whole directory structure for you automatically so that you don't want to do manually like registering routes, views, etc.
If you want to do things manually only need folder structures, then there is a optional argument known as 'plain'. Below is the sample,
php artisan package:make ACME/TestPackage --plain
If somehow folder or package is already present, then simple command won't work. So to overcome this problem we need to use force command.
php artisan package:make ACME/TestPackage --force
This command will generate a new controller for your portion.
php artisan package:make-controller TestController ACME/TestPackage
If controller is already present, then you need to use the force command.
php artisan package:make-controller TestController ACME/TestPackage --force
If you want to create an route, then you need to use this command and then register your routes file in the service provider i.e. 'ACME\TestPackage\Providers\TestPackageServiceProvider'.
php artisan package:make-route ACME/TestPackage
If routes file already present and you want to override this, then you need to use force command.
php artisan package:make-route ACME/TestPackage --force
This command will create a following files,
- New model class in 'packages/ACME/TestPackage/src/Models' directory.
- New model proxy class in 'packages/ACME/TestPackage/src/Models' directory.
- New model contract in 'packages/ACME/TestPackage/src/Contracts' directory.
php artisan package:make-model TestModel ACME/TestPackage
This command will overwrite all three files.
php artisan package:make-model TestModel ACME/TestPackage --force
This command will create a new model proxy class in 'packages/ACME/TestPackage/src/Models' directory.
php artisan package:make-model-proxy TestModelProxy ACME/TestPackage
If model proxy class already present then you can use force command for overwriting.
php artisan package:make-model-proxy TestModelProxy ACME/TestPackage --force
This command will create a new model contract in 'packages/ACME/TestPackage/src/Contracts' directory.
php artisan package:make-model-contract TestContract ACME/TestPackage
If model contract already present then you can use force command for overwriting.
php artisan package:make-model-contract TestDataGrid ACME/TestPackage --force
This command will create a new migration class in 'packages/ACME/TestPackage/src/Database/Migrations' directory.
php artisan package:make-migration TestMigration ACME/TestPackage
This command will create a new seeder class in 'packages/ACME/TestPackage/src/Database/Seeders' directory.
php artisan package:make-seeder TestSeeder ACME/TestPackage
If seeder class already present then you can use force command for overwriting.
php artisan package:make-seeder TestSeeder ACME/TestPackage --force
This command will create a new request class in 'packages/ACME/TestPackage/src/Http/Requests' directory.
php artisan package:make-request TestRequest ACME/TestPackage
If request class already present then you can use force command for overwriting.
php artisan package:make-request TestRequest ACME/TestPackage --force
This command will create a new middleware class in 'packages/ACME/TestPackage/src/Http/Middleware' directory.
php artisan package:make-middleware TestMiddleware ACME/TestPackage
If middleware class already present then you can use force command for overwriting.
php artisan package:make-middleware TestMiddleware ACME/TestPackage --force
This command will create a new data grid class in 'packages/ACME/TestPackage/src/Datagrids' directory.
php artisan package:make-datagrid TestDataGrid ACME/TestPackage
If data grid class already present then you can use force command for overwriting.
php artisan package:make-datagrid TestDataGrid ACME/TestPackage --force
This command will create a new repository class in 'packages/ACME/TestPackage/src/Repositories' directory.
php artisan package:make-repository TestRepository ACME/TestPackage
If repository class already present then you can use force command for overwriting.
php artisan package:make-repository TestRepository ACME/TestPackage --force
This command will create a new service provider class in 'packages/ACME/TestPackage/src/Providers' directory.
php artisan package:make-provider TestServiceProvider ACME/TestPackage
If service provider class already present then you can use force command for overwriting.
php artisan package:make-provider TestServiceProvider ACME/TestPackage --force
This command will create a new event class in 'packages/ACME/TestPackage/src/Events' directory.
php artisan package:make-event TestEvent ACME/TestPackage
If event class already present then you can use force command for overwriting.
php artisan package:make-event TestEvent ACME/TestPackage --force
This command will create a new listener class in 'packages/ACME/TestPackage/src/Listeners' directory.
php artisan package:make-listener TestListener ACME/TestPackage
If listener class already present then you can use force command for overwriting.
php artisan package:make-listener TestListener ACME/TestPackage --force
This command will create a new notification class in 'packages/ACME/TestPackage/src/Notifications' directory.
php artisan package:make-notification TestNotification ACME/TestPackage
If notification class already present then you can use force command for overwriting.
php artisan package:make-notification TestNotification ACME/TestPackage --force
This command will create a new mail class in 'packages/ACME/TestPackage/src/Mail' directory.
php artisan package:make-mail TestMail ACME/TestPackage
If mail class already present then you can use force command for overwriting.
php artisan package:make-mail TestMail ACME/TestPackage --force
This command will create a new command class in the 'packages/ACME/TestPackage/src/Console/Commands' directory.
php artisan package:make-command TestCommand ACME/TestPackage
If command class already present then you can use force command for overwriting.
php artisan package:make-command TestCommand ACME/TestPackage --force
This command will create a new module service provider class in 'packages/ACME/TestPackage/src/Providers' directory.
php artisan package:make-module-provider TestServiceProvider ACME/TestPackage
If module service provider class already present then you can use force command for overwriting.
php artisan package:make-module-provider TestServiceProvider ACME/TestPackage --force