carono / yii2-giix
基于 schmunk42 yii2-giiant 的 Yii2 gii 生成器
0.4.8
2023-02-18 08:37 UTC
Requires
- carono/codegen: ~0.1
- nette/php-generator: @stable
- yiisoft/yii2: ~2.0
README
composer require carono/yii2-giix
介绍
一个基于 schmunk42/yii2-giiant
的用于大量生成基础模型的组件
使用方法
连接包后,通过 bootstrap 将命令添加到控制台应用程序
yii giix
生成的文件
[app]
[models] Неперезаписываемые модели
[base] Перезаписываемые базовые модели
[query] Неперезаписываемые модели запросов
[base] Перезаписываемые базовые модели запросов
修改生成器模板
在配置中设置生成器
'controllerMap' => [ 'giix' => [ 'class' => 'carono\giix\GiixController', 'templatePath' => '@app/templates/model', 'generator' => [ 'class' => 'carono\giix\generators\model\Generator' ] ], ],
创建一个新类,该类将为每个表创建
<?php namespace app\templates\model; use carono\codegen\ClassGenerator; use Nette\PhpGenerator\Method; class Finder extends ClassGenerator { protected function formExtends() { return 'yii\base\Model'; } protected function formClassNamespace() { return 'app\models\finders'; } protected function formClassName() { return $this->params['className'] . 'Finder'; } protected function formOutputPath() { return \Yii::getAlias('@app/models/finders/' . $this->formClassName() . '.php'); } /** * @param Method $method */ public function myFunction($method) { $method->addParameter('param'); $method->addBody('echo "Hello World";'); } }
输出在 models/finders
文件夹中
<?php /** * This class is generated using the package carono/codegen */ namespace app\models\finders; class UserFinder extends \yii\base\Model { public function myFunction($param) { echo "Hello World"; } }