Package de génération de code du générateur Laravel
https://github.com/HogenYuan/laravel -generatorIntroduction
En raison de mon récent travail en arrière-plan, j'ai besoin d'un package de génération de code similaire à Gii, et il peut y en avoir plus abondant packages en ligne. Mais je n'en savais pas grand-chose, alors j'ai juste écrit un package qui me convenait à utiliser en fonction de mes propres habitudes. Je l'ai écrit à la hâte, donc le code peut être approximatif. Pour le moment, je n'ai écrit que le back-end, et j'écrirai le front-end quand j'aurai le temps. 1. Modifiez *.stub pour générer du code initial personnalisé en fonction du répertoire du framework personnalisé 2. Supportmodel + filter + request + resource + service + controller + migration + test
>
composer require hogen\laravel-generator php artisan vendor:publish --tag=generator
model + resource + migration
ExécuterVeuillez d'abord modifier le fichier stub du format de code par défaut en fonction de votre propre répertoire de framework et du format de code
'providers' => [ ··· App\Console\Commands\Generator\GeneratorServiceProvider::class];
GeneratorMakeResource.php
## name : 必填,短横式命名的资源名称}## --module= : 必填,指定三级模块(大小写规范) 如:GasStation/MainCard/Balance## --prefix= : 指定二级前缀(大小写规范) 默认:AdminApi## --baseDir= : 指定一级目录(大小写规范) 默认:Http## --force : 覆盖已存在文件## --filter : 使用filter筛选类## --test : 生成测试文件例子: //有大小写规范 * Path: App\Http\Controller\AdminApi\User\Example php artisan admin:make-resource testExample --force --baseDir=Http --prefix=AdminApi --module=User\Example * Path: App\Admin\Controller\User\Example php artisan admin:make-resource testExample --force --filter --baseDir=Admin --module=User\Example
Il y a une priorité, vous devez remplir la commande selon l'image ci-dessus
Règles de répertoire
protected $types = [ 'model', 'request', 'resource', 'service', 'controller', 'test', 'migration'];
prefix détermine s'il se trouve dans le préfixe secondaire
protected $pathFormat = [ 'model' => ['inBaseDir' => false, 'prefix' => ''], 'service' => ['inBaseDir' => false, 'prefix' => ''], 'test' => ['inBaseDir' => false, 'prefix' => true], 'request' => ['inBaseDir' => true, 'prefix' => true], 'resource' => ['inBaseDir' => true, 'prefix' => true], 'controller' => ['inBaseDir' => true, 'prefix' => true], 'migration' => ['inBaseDir' => false, 'prefix' => ''],];
Http
La génération du chemin suit uniquement La règle inBaseDir du modèle dans $pathFormat ne suit pas le préfixe pour éviter la génération de traits
Remplissage des champs de la base de données
protected $createFilter = false;protected $baseFilterHelperPath = "Models\Traits\Filter";
Format du code Modifier le format du code par défaut
Les stubs suivants sont des habitudes de code simplifiées, selon les besoins Modifier
Generatorstubs*.stub
/** * 手动配置 * resource文件中不需要添加到 $fillable 的字段 * * @var string[] */protected $resourceNoFillableFields = [ 'update_time', 'updated_time', 'delete_time', 'deleted_time',];/** * 手动配置 * model文件中不需要添加到 $fillable 的字段 * * @var string[] */protected $modelNoFillableFields = [ 'id', 'create_time', 'created_time', 'update_time', 'updated_time', 'delete_time', 'deleted_time',];
TODO
Le front-end est généré en fonction des composants
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!