vtalbot / repository-generator
Repository Generator For Laravel 5
Installs: 1 622
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 1
Forks: 3
Open Issues: 0
Requires
- php: >=5.5.9
- fabpot/php-cs-fixer: ^1.11
- illuminate/support: ^5.1|^5.2
README
This package offer the possibility to generate repository based on the give model.
Installation
Via Composer
$ composer require vtalbot/repository-generator --dev
Edit your AppServiceProvider
to add the following to the register
method:
if ($this->app->environment() == 'local') { $this->app->register(\VTalbot\RepositoryGenerator\RepositoryGeneratorServiceProvider::class); }
Then execute the command:
$ php artisan vendor:publish --provider="VTalbot\RepositoryGenerator\RepositoryGeneratorServiceProvider" --tag=config
Edit config/repository.php
to your needs.
Usage (based on default config values)
To create a simple repository:
$ php artisan make:repository User Repository created: > App\Repositories\UserRepository
To have a contract with the repository:
$ php artisan make:repository User --contract Repository created: > App\Repositories\DbUserRepository > App\Repositories\Contracts\UserRepository
By default, the repository will have the methods: all
, find
, create
, update
and delete
. You can
Change the methods that will be added by using the options --only=all,find
or --except=all,find
. If you
want a plain repository, use the option --plain
.
A suffix is by default added to the repository, based on the config file. To change this value, you can provide
the option --suffix=Repo
. There is an option for the prefix when using the option --contract
, by providing
the option --prefix=Ab
, which by default is Db
.
If you want to change the name of the repository, you can use the option --name=Users
to replace the model
name and suffix.
$ php artisan make:repository User --name=Users --contract Repository created: > App\Repositories\DbUsers > App\Repositories\Contracts\Users
If you want to automatically load the generated repositories, execute the following command:
$ php artisan make:repository:service
It accept a name
argument to define the name you want and a --namespace
option if your providers aren't inside
the default app/Providers
.
Changelog
v1.1.3
- Fix newly created classes code style.
v1.1.2
- Add support for Laravel 5.2.
v1.1.1
- Fix class reflection test order.
v1.1.0
- Add repository service provider to load generated repositories with contract.