持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第23天,点击查看活动详情
快速开始
在日常开发中,最常见的即是增删改查代码,使用 ModStart 开发此类功能,会变得非常简单。
下面将会给大家介绍 ModStart 的使用方法,以及一个增删改查页面的基本构成。通过学习下面的内容将可以帮助大家快速理解这个系统的基本使用方法。
创建数据表
在 Laravel 的迁移目录创建数据库迁移文件
class CreateNews extends Migration
{
public function up()
{
Schema::create('news', function (Blueprint $table) {
$table->increments('id');
$table->timestamps();
$table->string('title', 200)->nullable()->comment('');
$table->string('cover', 200)->nullable()->comment('');
$table->string('summary', 200)->nullable()->comment('');
$table->text('content')->nullable()->comment('');
});
}
}
public function down()
{
}
}
创建控制器
增加路由控制器代码,同时按照
class NewsController extends Controller
{
use HasAdminQuickCRUD;
protected function crud(AdminCRUDBuilder $builder)
{
$builder
->init('news')
->field(function ($builder) {
$builder->id('id','ID');
$builder->text('title', '名称');
$builder->image('cover', '封面');
$builder->textarea('summary', '摘要');
$builder->richHtml('content', '内容');
$builder->display('created_at', '创建时间');
$builder->display('updated_at', '更新时间');
})
->gridFilter(function (GridFilter $filter) {
$filter->eq('id', 'ID');
$filter->like('title', '标题');
})
->title('新闻管理');
}
}
增加路由和导航
在 routes.php 增加路由信息
$router->match(['get', 'post'], 'news/news', 'NewsController@index');
$router->match(['get', 'post'], 'news/news/add', 'NewsController@add');
$router->match(['get', 'post'], 'news/news/edit', 'NewsController@edit');
$router->match(['get', 'post'], 'news/news/delete', 'NewsController@delete');
$router->match(['get', 'post'], 'news/news/show', 'NewsController@show')
; 在 ModuleServiceProvider.php 中注册菜单信息
AdminMenu::register(function () {
return [
[
'title' => '新闻管理',
'icon' => 'list',
'sort' => 150,
'url' => '\App\Admin\Controller\NewsController@index',
]
];
});
开发完成
这样一个简单的增删改查页面就开发完成了
开发前必读
开发前的配置
开发环境请打开 debug 模式(即在 .env 文件中设置 APP_DEBUG=true )
公共样式
ModStart 使用了一些基础样式对页面进行布局,既简单又强大,开始开发前需要对此有所了解。
公共样式对编写页面组件非常有帮助,能显著提高开发效率,建议编写组件前先查阅一遍文档