[扩展推荐] Laravel Craftsman —— 代码生成工具
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 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。