Paris model generator from database.
$ composer require davidepastore/paris-model-generator:0.1.*
Require this generator:
"require": {
"davidepastore/paris-model-generator": "0.1.*"
}
You have to setup your application to be sure that the generated classes will be in the right place and with the right
namespace.
paris-model-generator uses composer.json
extra
property to put its configuration:
"extra": {
"paris-model-generator": {
"namespace": "VendorName\\MyProject\\Models",
"destination-folder": "src\\"
}
}
It is the namespace in which all classes will be generated. It will be also used to create the folder structure to be PSR-4 compliant.
It is the folder in which all files (and folder structure) will be generated.
Be sure to be in the base directory of the project (where you have your composer.json
file) and run:
$ vendor/bin/paris-generator models [--force]
The generator will ask you information about the database, to be sure to connect to it and to retrieve the list of tables. The list of the supported drivers could be found here.
The --force
option will not ask you confirmation to overwrite existing files.
You have two chances:
- psr-4 autoload;
- classmap autoload.
If your namespace property is set you can use psr-4
composer autoload:
"autoload" : {
"psr-4" : {
"" : "your-destination-folder/"
}
}
Don't forget to set Model::$auto_prefix_models
to be sure that your model is recognized properly when you use
Model::factory
method:
Model::$auto_prefix_models = 'YourAmazing\\Namespace\\';
If your namespace property is empty or not set, you have to autoload using:
"autoload": {
"classmap" : [
"your-destination-folder/"
]
}
If you have issues, just open one here.