IMPORTANT: We have created this repository to be a part of a specific workflow, it wasn't designed to be compatible with every project, but it became popular, so we decided to create a new better one with flexibility in mind, use this package instead.
Autogeneration for repository pattern files, This package is aim to generate Contract (interface), Entity (model), Controller, Repository, Request validation and view files for specified module.
No Need to bind the interface to the repository, it will be auto-bind !
*Note: if you are using laravel, you should've at least version 5.7
This package require the following dependencies: "illuminate/console": "^5.7", "illuminate/support": "^5.7"
1- Require this package with composer using the following command:
composer require shamaseen/repository-generator
2- publish the package config file by running:
php artisan vendor:publish
and select repository-generator.
3- To enable validation messages to be delivereid, You need to move StartSession
and ShareErrorsFromSession
from $middlewareGroups in http karnel to $middleware.
If you want to have a custom stubs rather than the default ones, you can change the path of the stubs folder in repository config, then run the following command:
php artisan vendor:publish
and select repository-stub, this will publish all the stub templates to the specified path on repository config. Feel free to edit stubs templates.
To generate repository files run the following command:
php artisan make:repository {Folder/Classname (singular)}
where Folder is optional.
To generate views and languages files just add --only-view
option in the command.
To remove a repository files that has been already created, you can use Remover
like the following:
php artisan remove:repository {Folder/Classname (singular)}
To generate repository files for product, run the following:
php artisan make:repository Products/Product
Note: You can use Product instead of Products/Product, this will not make new folder with the class.
Then generate views and languages files:
php artisan make:repository Products/Product --only-view
Repository-generator is a free software distributed under the terms of the MIT license.