hitocean/crud-generator is a Laravel package for this is my package crud-generator.
It currently has 0 GitHub stars and 25.499 downloads on Packagist (latest version 1.0.3).
Install it with composer require hitocean/crud-generator.
Discover more Laravel packages by hitocean
or browse all Laravel packages to compare alternatives.
Last updated
You can install the package via composer:
composer require hitocean/crud-generator
php artisan make:hit-model-config
Este comando permite generar un archivo de configuracion para la generacion de un modelo. Este archivo va a estar situado en la carpeta generators/models.
El archivo generado se puede ver asi.
{
"modelName": "Company",
"root_folder": "src/Domain/Company/Models",
"root_namespace": "Src\\Domain\\Company\\Models",
"tableName": "companies",
"crud": true,
"attributes": [
{
"name": "name",
"type": "string"
},
{
"name": "email",
"type": "string"
},
{
"name": "address",
"type": "?string"
}
]
}
En este archivo se pueden modificar todos los valores que se deseen antes de generar los archivos para el modelo.
php artisan make:hit-model
Este comando permite generar un modelo con los atributos y relaciones que se definieron en el archivo de configuracion. Va a generar los siguientes archivos:
Es importante destacar que al correr el comando se van a tratar de crear todos los archivos dentro de generators/models. Por lo que si un modelo ya esta creado lo va a intentar reemplazar.
php artisan make:hit-controller-config
Al igual que para con los modelos, este comando crea un archivo de configuracion con el que luego se creara el controlador. Este archivo se crea en la carpeta generators/controllers.
Consideraciones
El archivo generado se puede ver asi:
{
"controller_name": "CompanyController",
"root_folder": "src/Application/Company/Controllers",
"root_namespace": "Src\\Application\\Company\\Controllers",
"model_import": "Src\\Domain\\Company\\Models\\Company",
"test_path": "tests/Application/Company/Controllers/CompanyControllerTest",
"methods": [
{
"name": "index",
"route_method": "get",
"data_class_import": null,
"data_class_path": null,
"resource_class_import": "Src\\Application\\Company\\Resources\\IndexCompanyResource",
"resource_class_path": "src/Application/Company/Resources/IndexCompanyResource",
"inputs": [],
"outputs": [
{
"name": "id",
"type": "int"
},
{
"name": "name",
"type": "string"
},
{
"name": "email",
"type": "string"
},
{
"name": "address",
"type": "string"
},
{
"name": "created_at",
"type": "date"
},
{
"name": "updated_at",
"type": "date"
}
]
},
{
"name": "store",
"route_method": "post",
"data_class_import": "Src\\Application\\Company\\Data\\StoreCompanyData",
"data_class_path": "src/Application/Company/Data/StoreCompanyData",
"resource_class_import": null,
"resource_class_path": null,
"inputs": [
{
"name": "id",
"type": "int"
},
{
"name": "name",
"type": "string"
},
{
"name": "email",
"type": "string"
},
{
"name": "address",
"type": "string"
},
{
"name": "created_at",
"type": "date"
},
{
"name": "updated_at",
"type": "date"
}
],
"outputs": []
},
{
"name": "update",
"route_method": "put",
"data_class_import": "Src\\Application\\Company\\Data\\UpdateCompanyData",
"data_class_path": "src/Application/Company/Data/UpdateCompanyData",
"resource_class_import": null,
"resource_class_path": null,
"inputs": [
{
"name": "id",
"type": "int"
},
{
"name": "name",
"type": "string"
},
{
"name": "email",
"type": "string"
},
{
"name": "address",
"type": "string"
},
{
"name": "created_at",
"type": "date"
},
{
"name": "updated_at",
"type": "date"
}
],
"outputs": []
},
{
"name": "destroy",
"route_method": "delete",
"data_class_import": null,
"data_class_path": null,
"resource_class_import": null,
"resource_class_path": null,
"inputs": [],
"outputs": []
},
{
"name": "show",
"route_method": "get",
"data_class_import": null,
"data_class_path": null,
"resource_class_import": "Src\\Application\\Company\\Resources\\ShowCompanyResource",
"resource_class_path": "src/Application/Company/Resources/ShowCompanyResource",
"inputs": [],
"outputs": [
{
"name": "id",
"type": "int"
},
{
"name": "name",
"type": "string"
},
{
"name": "email",
"type": "string"
},
{
"name": "address",
"type": "string"
},
{
"name": "created_at",
"type": "date"
},
{
"name": "updated_at",
"type": "date"
}
]
}
]
}
php artisan make:hit-controller
IMPORTANTE: Se van a crear todos los controladores que esten dentro de la carpeta generators/controllers. En caso de que ya existan los va a sobreescribir.
Al ejecutar este comando se van a crear los siguientes archivos:
Consideraciones
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.