The utilities for Yii2
- php8.0+
$ /lib/path/composer require atellitech/utils-yii2
This generator is used to create model class by particular table name.
...
"controllerMap": [
'genmodel' => [
'class' => 'AtelliTech\Yii2\Utils\ModelGeneratorController',
'db' => 'db', // db comopnent id default: db
'path' => '@app/models', // store path of model class file default: @app/models
'namespace' => 'app\models', // namespace of model class default: app\models
],
]
$ /path/to/yii genmodel {tableName} --option=value...
- db Database component id
- path Store path of model class file
- ns Namespace of model class
This genertor is used to create related files of API module by name that will create files into @app/modules/{name}.
...
"controllerMap": [
'genapi' => [
'class' => 'AtelliTech\Yii2\Utils\ApiGeneratorController',
'db' => 'db' // db comopnent id default: db
],
]
$ /path/to/yii genapi/generate-module --name={moduleName}
This genertor is used to create an API controller file into specific module name by particular table name.
...
"controllerMap": [
'genapi' => [
'class' => 'AtelliTech\Yii2\Utils\ApiGeneratorController',
'db' => 'db' // db comopnent id default: db
],
]
$ /path/to/yii genapi {tableName} --option=value
- name Name of module
Dump service and repository files to definitions of container file
...
"controllerMap": [
'container' => [
'class' => 'AtelliTech\Yii2\Utils\ContainerController'
],
]
$ /path/to/yii container/definitions --srcPath={srcPath} --destPath={destPath} --srcNs={srcNs} --suffix={suffix}
Support exporting log in JSON.
Note: this class is extending yii\log\FileTarget
...
'log' => [
'traceLevel' => YII_DEBUG ? 3 : 0,
'targets' => [
[
'class' => 'AtelliTech\Yii2\Utils\Log\JsonFileLogTarget',
'levels' => ['error', 'warning'],
'logFile' => '@app/runtime/logs/web.log',
],
],
],