ronasit / laravel-entity-generator
Provided console command for generating entities.
Installs: 45 123
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 6
Forks: 3
Open Issues: 23
Requires
- php: ^8.3
- ext-json: *
- laravel/framework: ^11.21
- laravel/legacy-factories: >=1.3.0
- ronasit/laravel-helpers: ^3.0.1-beta
Requires (Dev)
- fakerphp/faker: ^1.23.1
- mikey179/vfsstream: ^1.6.11
- mockery/mockery: ^1.6.12
- orchestra/testbench: ^9.3
- php-coveralls/php-coveralls: ^2.7
- php-mock/php-mock: ^2.5
- phpunit/phpunit: ^10.5.30
- dev-master
- 3.2
- 3.1
- 3.0.0-beta
- 2.0.4-beta
- 2.0.3-beta
- 2.0.2-beta
- 2.0.1-beta
- 2.0.0-beta
- 1.3.12
- 1.3.11
- 1.3.10
- 1.3.9
- 1.3.8
- 1.3.7
- 1.3.6
- 1.3.5
- 1.1.0-beta
- dev-49-add-tests
- dev-update-nova-test-generator-template
- dev-49-cover-entity-generator-with-tests
- dev-fix-nova-test-template
- dev-fix/create-database-seeder
- dev-paratests
- dev-eparusov-update-config
- dev-feat/update-dependencies
- dev-update-dependencies-laravel11
- dev-update-dependencies
- dev-fix-nova-template-test-filter-user
- dev-fix-template-for-generarte-nova-tests
- dev-fix-nova-test-generator
- dev-49-add-command-tests
- dev-49-add-translator-generator-tests
- dev-49-add-service-provider-tests
- dev-49-add-tests-generator-tests
- dev-optimize-dependencies
- dev-49-add-migration-generator-tests
- dev-49-add-factory-tests
- dev-update-dependency
- dev-49-add-service-generator-tests
- dev-49-add-seeder-generator-tests
- dev-49-add-api-resource-generator-tests
- dev-49-add-requests-generator-tests
- dev-49-add-repository-generator-tests
- dev-add-composer-lock-file-to-vcs
- dev-49-add-model-generator-tests
- dev-add-nova-tests-generation
- dev-42-extend-nova-resource-generator
- dev-36-add-classes-namespace-generation
- dev-DenTray-patch-1
- dev-20-correct-translation-creation
- dev-55-add-entity-case-autocorrect
- dev-33-remove-required-rule
- dev-43-change-migration-to-anonymous-class
- dev-52-fix-controller-template
- dev-32-remove-useless-json-serialization-on-model-update
- dev-readme-update
- dev-major-1
This package is auto-updated.
Last update: 2024-11-15 06:52:27 UTC
README
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
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.
'providers' => [ // ... RonasIT\Support\EntityGeneratorServiceProvider::class, ],
For dev installation provider should be registered optionally
class AppServiceProvider { public function boot(): void { // ... if (config('app.env') === 'local') { App::register(\RonasIT\Support\EntityGeneratorServiceProvider::class); } } }
And publish.
php artisan vendor:publish --provider="RonasIT\Support\EntityGeneratorServiceProvider"
Examples
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:
> 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:
'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' ]