joeadelsater / catapult-base
此包的目的是加速Laravel开发过程,使开发者能够更快地设置项目并完成更多工作,节省时间。
1.0.0
2024-02-24 13:27 UTC
README
- 此包仅用于开发。请勿在生产环境中使用此包。
- 仅在全新的项目中使用catapult。否则,它将覆盖您现有的模型、控制器、迁移和验证请求。
描述
此包的目的是帮助您尽可能快地设置项目。您可以通过一个开发友好的GUI安装包、创建模型、迁移、验证请求、控制器和路由。这可以最小化执行重复性任务的时间,让您专注于项目逻辑构建的部分。
要求
此包支持Laravel版本10。
安装
此包应始终作为开发依赖项添加。它永远不应用于生产环境。
要安装此包
composer require --dev joeabdelsater/catapult-base
运行包迁移
php artisan migrate
最后,运行包安装脚本。这将发布JavaScript资源并为您应用程序中已存在的用户模型创建一个条目
php artisan catapult:install
现在,您可以访问 /catapult URL 以访问catapult仪表板。
如何使用
设置项目
- 首先选择您项目所需的包,点击保存,然后按照屏幕上显示的说明进行操作。
设置模型
- 通过编写模型名称,选择您希望在此模型上设置的配置并点击保存来创建模型。
- 在此阶段,如果您尚未点击模型旁边的“生成”,则配置仅保存到数据库中,您的模型文件尚未生成。
- 完成设置后,您现在可以立即生成模型文件,或者等待设置关系,然后再生成模型。
- 如果您生成模型,然后更改关系中的某些内容,模型旁边将显示一个警告,提示您需要重新生成它们。
设置关系
- 选择您想要创建关系的模型。
- 将右侧的模型拖放到您希望具有的类型的旁边的关系中。
- 填写您希望填写的任何参数,或自定义创建的任何建议。
- 点击保存以将关系保存到数据库。此时,它们尚未生成。
- 完成设置后,返回模型部分,重新生成您的模型以应用更改。
创建迁移和验证请求
- 选择您希望为其生成迁移的模型。
- 编辑器中显示的类使用
CatapultSchema而不是常规的Schema类。请不要修改它。 - 编写您通常在Laravel迁移中编写的迁移代码。
- 如果您希望在特定字段上创建验证,请将
->validation('')方法链接到您的代码。
$table->string('first_name')->nullable()->validation('nullable|max:255');
// Make sure you chain it right after foreignId('user_id')
/** CORRECT */
$table->foreignId('user_id')->validation('required|exists:users,id')->onDelete('cascade');
/** WRONG */
$table->foreignId('user_id')->onDelete('cascade')->validation('required|exists:users,id');
/** CORRECT */
$table->unsignedBigInteger('user_id')->validation('required|exists:users,id');
$table->foreign('user_id')->references('users')->on('id')->onDelete('cascade');
/** WRONG */
$table->unsignedBigInteger('user_id');
$table->foreign('user_id')->validation('required|exists:users,id')->references('users')->on('id')->onDelete('cascade');
- 点击“保存并生成迁移”。
- 有时您可能在生成之前以错误的顺序保存迁移,这是可以的。在生成之前,Catapult将在迁移上显示警告,以提示您是否应该在生成之前生成另一个迁移。
创建控制器。
- 这应该很简单。只需编写控制器的名称并点击保存。
- 点击“生成”以创建文件。
设置控制器路由
- 在控制器中选择您希望创建路由的类型(Web或API)。
- 找到您希望使用的路由方法,并在相关表单中填写信息。
- 点击保存,并确保生成路由。
- 一旦路由生成,您应该重新生成控制器,为每个控制器生成您在路由中定义的方法。
- 生成的路由可以在您项目根目录下的
/routes/catapult文件夹中找到。这些文件将自动加载到您的 web.php 和 api.php 文件中。您可以根据需要移动它们。