Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/0x3b3fc/repository-pattern-generator
https://github.com/0x3b3fc/repository-pattern-generator
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/0x3b3fc/repository-pattern-generator
- Owner: 0x3b3fc
- License: mit
- Created: 2024-11-23T11:43:14.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-11-23T12:10:55.000Z (about 2 months ago)
- Last Synced: 2024-11-23T12:29:44.421Z (about 2 months ago)
- Language: PHP
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Repository Pattern Generator
This package provides a convenient way to generate repository patterns for your Laravel application. It helps to
streamline the code structure and enhance maintainability by encapsulating data access logic.## Features
- Automatically generates repository interfaces and implementations
- Supports dependency injection for easy testing
- Customizable stub files for fine-tuning the generated code## Installation
Install the package via Composer:
```sh
composer require phpsamurai/repository-pattern-generator
```## Usage
### Register the Service Provider
If you're using Laravel 5.5+, the package will auto-register the service provider. For earlier versions of Laravel, add
the service provider in `config/app.php`:```php
'providers' => [
// Other service providers...
phpsamurai\RepositoryPatternGenerator\RepositoryPatternGeneratorServiceProvider::class,
],
```### Publish the Configuration
You can publish the configuration file with the following command:
```sh
php artisan vendor:publish
```Then
```
RepositoryPatternGeneratorServiceProvider
```### Generate a Repository
To generate a new repository, use the Artisan command:
```sh
php artisan make:repository {ModelName}
```For instance, to create a repository for a `User` model, you would execute:
```sh
php artisan make:repository User
```### Custom Stubs
You can customize the stub files used to generate the repository and interface. To do this, publish the stub files:
```sh
php artisan vendor:publish --provider="phpsamurai\RepositoryPatternGenerator\RepositoryPatternGeneratorServiceProvider" --tag="stubs"
```Edit the stub files located in the `stubs/repository` directory to tailor them to your needs. The generator will use
these modified stubs when creating new files.## Testing
To ensure the generated repository pattern integrates well with your Laravel application, you can write and run your
tests using PHPUnit. Mocking dependencies is straightforward with the repository pattern, facilitating a cleaner and
more maintainable test suite.## Contributing
Contributions are welcome! Please follow these steps to contribute:
1. Fork the repository.
2. Create a new branch (`git checkout -b feature/your-feature-name`).
3. Commit your changes (`git commit -m 'Add some feature'`).
4. Push to the branch (`git push origin feature/your-feature-name`).
5. Open a pull request.## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE.md) file for details.