| Package Data | |
|---|---|
| Maintainer Username: | vtalbot |
| Maintainer Contact: | vincent.talbot@gmail.com (Vincent Talbot) |
| Package Create Date: | 2015-09-14 |
| Package Last Update: | 2019-03-22 |
| Home Page: | |
| Language: | PHP |
| License: | MIT |
| Last Refreshed: | 2025-10-27 03:06:15 |
| Package Statistics | |
|---|---|
| Total Downloads: | 1,633 |
| Monthly Downloads: | 0 |
| Daily Downloads: | 0 |
| Total Stars: | 6 |
| Total Watchers: | 1 |
| Total Forks: | 3 |
| Total Open Issues: | 0 |
This package offer the possibility to generate repository based on the give model.
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.
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.