简介
后台开发,大量重复的写列表,表单. 枯燥无聊
一直在找配置方式开发后台, 直到遇到了 Syfmony 的 EasyAdminBundle ;
简单的列表,表单字段,即可生成功能完善的 CRUD 操作. 而且足够灵活.
80%重复的工作配置来完成, 20% 特别的业务也能够方便的扩展.
最主要的是,它不是一个呆板的. 不管是列表,表单 导航,布局 都很容易通过模板继承来轻易实现自己想要的效果.
使用用一段时间后,简直不要太香.
奈何... 国内 ThinkPhp 保有量太大 ,很多公司都在使用.
找了很久没有想要的. 就自己开发了一个.
示例
开发一个列表
protected function configListField(ListField $list)
{
$list
->addField('id', 'ID', ListText::class)
->addField('intro_cover', '封面', ListImage::class)
->addField('name', '名称', ListText::class)
->addField('store_num', '店铺数量', ListText::class)
->addField('level', '代理等级', ListSelect::class,[
'options'=>$this->levels
])
->addField('contact_name', '联系人', ListText::class)
->addField('contact_mobile', '联系电话', ListText::class)
->addField('create_time', '入驻时间', ListDateTime::class)
->addField('expired_time', '过期时间', ListDateTime::class)
;
}
开发一个表单
protected function configFormField(PageForm $page)
{
$page
->addField('name', '名称', FormText::class)
->addField('intro_cover', '封面', FormUpload::class)
->addField('level', '代理等级', FormSelect::class,[
'options'=>$this->levels
])
->addField('contact_name', '联系人', FormText::class)
->addField('contact_mobile', '联系电话', FormText::class)
->addField('contact_qq_wx', 'QQ 微信', FormText::class)
->addField('contact_addr', '联系地址', FormText::class)
->addField('expired_time', '过期时间', FormDateTime::class,[
'in_format'=>'strtotime'
])
->addField('intro_title', '简介', FormTextarea::class)
->addField('intro_desc', '详细介绍', FormEditor::class)
;
}
配置导航
public function configMenu(Menu $menu)
{
$menu->setItems([
MenuItem::addItem('首页', 'index/index',['icon'=>'layui-icon layui-icon-home']),
MenuItem::addItem('商户', 'javascript:')->setChildren([
MenuItem::addItem('代理列表', 'agent/lists', ['icon' => 'fa fa-fire']),
MenuItem::addItem('代理充值记录', 'agentPayLog/lists', ['icon' => 'fa fa-fire']),
MenuItem::addItem('商户列表', 'store/lists', ['icon' => 'fa fa-fire']),
MenuItem::addItem('商户桌号', 'storeTable/lists', ['icon' => 'fa fa-fire']),
]),
MenuItem::addItem('系统', 'javascript:')->setChildren([
MenuItem::addItem('系统配置', 'config/lists'),
]),
]);
}
同样, html 模板 css 等等 很多很多的功能都是能够通过配置 或者继承来实现重写的.
更多详细查看 thinkeasyadmin.wansh.cc/