[扩展推荐] Laravel Craftsman —— 代码生成工具

Laravel

Laravel Craftsman是一个CLI,可以通过 Mike Erickson为任何项目(artisan make on steroids)轻松制作 Laravel 代码。 该项目依赖于Laravel Zero,提供了一套全局安装的 「项目无关」CLI工具:

composer global require codedungeon/laravel-craftsman

您可以使用 craft:all 命令为典型的 模型 / 视图 / 控制器 设置创建所有资源:

laravel-craftsman craft:all Post \
  --model App/Models/Post \
  --tablename posts \
  --rows 50 \
  --extends layouts.app \
  --section content

请注意,此命令还负责扩展模板文件中的 layouts/app.blade.php 文件。

以下是自述文件中的一个示例,您可以使用 --fields 选项生成一个包含表定义的迁移文件:

--fields fname:string@25:nullable,lname:string@50:nullable,email:string@80:nullable:unique,dob:datetime,notes:text,deleted_at:timezone

# results in...
Schema::create('contacts', function (Blueprint $table) {
    $table->bigIncrements('id');
    $table->timestamps();
    $table->string('fname', 25)->nullable();
    $table->string('lname', 50)->nullable();
    $table->string('email', 80)->nullable()->unique();
    $table->datetime('dob');
    $table->text('notes');
    $table->timezone('deleted_at');
});

该项目还允许您使用 Mustache 模板语言配置用于生成的文件的模板。 以下是撰写本文时 class 模板的示例:

<?php

namespace {{namespace}};

class {{model}}
{
    {{#constructor}}
    function __construct() {}
    {{/constructor}}
}

查看 readme 以获取完整的命令和标志列表。 在全局安装软件包并将其添加到路径后,您还可以从命令行运行 laravel-craftsman list 。 您可以在 mikeerickson/laravel-craftsman上了解有关此软件包的更多信息并查看GitHub上的源代码。

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://laravel-news.com/laravel-craftsm...

译文地址:https://learnku.com/laravel/t/27598

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!