Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ronasit/laravel-entity-generator
https://github.com/ronasit/laravel-entity-generator
Last synced: about 21 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/ronasit/laravel-entity-generator
- Owner: RonasIT
- Created: 2017-06-20T11:28:01.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-11-12T08:18:41.000Z (3 days ago)
- Last Synced: 2024-11-12T08:29:41.735Z (3 days ago)
- Language: PHP
- Size: 878 KB
- Stars: 6
- Watchers: 6
- Forks: 3
- Open Issues: 23
-
Metadata Files:
- Readme: ReadMe.md
Awesome Lists containing this project
README
# Laravel-Entity-Generator
Laravel-Entity-Generator - This generator is used to create a standard class stack for a new entity.
### Install
We're highly recommending to install package for only dev environment
```bash
composer require ronasit/laravel-entity-generator --dev
```If you're on Laravel 5.5 or later the package will be auto-discovered.
Otherwise, you will need to manually configure it in your config/app.php.```php
'providers' => [
// ...
RonasIT\Support\EntityGeneratorServiceProvider::class,
],
```For dev installation provider should be registered optionally
```php
class AppServiceProvider
{
public function boot(): void
{
// ...
if (config('app.env') === 'local') {
App::register(\RonasIT\Support\EntityGeneratorServiceProvider::class);
}
}
}
```And publish.
```bash
php artisan vendor:publish --provider="RonasIT\Support\EntityGeneratorServiceProvider"
```### Examples
```bash
php artisan make:entity EntityName \
-S required_string_field \
--integer=not_required_integer_field \
--boolean-required=required_boolean_field \
-j data \
-e AnotherEntityName
```### Documentation
`make:entity` artisan command - generate stack of classes to work with the new entity in project.
Syntax:
```bash
> php artisan make:entity [entity-name] [options]
````entity-name` - Name of the Entity, recommended to use `CamelCase` naming style e.g. `WhitelistedDomain`
`options` - one or more options from the lists below
#### Fields definition options
-i|--integer : Add integer field to entity.
-I|--integer-required : Add required integer field to entity. If you want to specify default value you have to do it manually.
-f|--float : Add float field to entity.
-F|--float-required : Add required float field to entity. If you want to specify default value you have to do it manually.
-s|--string : Add string field to entity. Default type is VARCHAR(255) but you can change it manually in migration.
-S|--string-required : Add required string field to entity. If you want to specify default value ir size you have to do it manually.
-b|--boolean : Add boolean field to entity.
-B|--boolean-required : Add boolean field to entity. If you want to specify default value you have to do it manually.
-t|--timestamp : Add timestamp field to entity.
-T|--timestamp-required : Add timestamp field to entity. If you want to specify default value you have to do it manually.
-j|--json : Add json field to entity.
#### Relations definitions options
-a|--has-one : Set hasOne relations between you entity and existed entity.
-A|--has-many : Set hasMany relations between you entity and existed entity.
-e|--belongs-to : Set belongsTo relations between you entity and existed entity.
-E|--belongs-to-many : Set belongsToMany relations between you entity and existed entity.
#### Single class generation mode options
--only-model : Set this flag if you want to create only model. This flag is a higher priority than --only-migration, --only-tests and --only-repository.
--only-repository : Set this flag if you want to create only repository. This flag is a higher priority than --only-tests and --only-migration.
--only-service : Set this flag if you want to create only service.
--only-controller : Set this flag if you want to create only controller.
--only-requests : Set this flag if you want to create only requests.
--only-migration : Set this flag if you want to create only repository. This flag is a higher priority than --only-tests.
--only-factory : Set this flag if you want to create only factory.
--only-tests : Set this flag if you want to create only tests.
--only-seeder : Set this flag if you want to create only seeder.
--only-resource : Set this flag if you want to create only resource.
#### Mode combination options
--only-entity : Generate stack of classes to work with entity inside the app (Migration/Model/Service/Repository)
--only-api : Generate stack of classes to implement API part to work with entity (routes/Controller/Requests/Tests)
#### Additional generation options
--methods=[default: CRUD] : Don't work for `--only-entity` option. Will generate API classes (routes, controller's
methods, requests, tests) only for choosed methods.
C - created
R - read (search and get by id)
U - update
D - delete## Release notes
### 1.3
Since 1.3 version you need to add to your config/entity-generator.php following data:
```php
'paths' => [
... // your old data
'seeds' => 'database/seeds',
'database_seeder' => 'database/seeds/DatabaseSeeder.php',
'translations' => 'resources/lang/en/validation.php'
],
'stubs' => [
... // your old data
'empty_factory' => 'entity-generator::empty_factory',
'translation_not_found' => 'entity-generator::translation_not_found',
'validation' => 'entity-generator::validation',
'seeder' => 'entity-generator::seeder',
'database_empty_seeder' => 'entity-generator::database_empty_seeder'
]
```