Laravel后台管理扩展包——Voyager简介(二)

数据BREAD

简介

数据BREAD应当算是最主要与核心的功能,这个模块的其他功能也都是主要围绕此功能,我们应该对CURD这个词很熟悉,增删改查谁都知道,其实Voyager说指的BREAD是一样的,多了一个browse,浏览,可以理解为我们常接触的数据列表,当我们在Admin系统中想管理一类数据,我们通常会建立一张数据表,有了数据表的增删改查浏览功能,维护数据这个需求就实现了,Voyager做的就是快速生成一个表的管理功能,免去了我们为一张张表写增删改查,大量重复代码粘贴复制的工作。

创建数据库

在菜单中我们找到数据库,其中就是我们数据库中的所有表,可以看到,部分表已经建立了BREAD管理,当我们需要添加一类数据管理的时候,我们就可以在此创建一张表,和在数据库管理软件中设计表一样,我们还正常的设计所需字段即可,此处应注意,由于使用Laravel的Eloquent ORM操作数据,所以在Eloquent ORM约定中,数据表名默认为复数形式,比如一张存储computer信息的表,我们应当命名为computers,不然后面会提示表找不到,勾选创建模型,Eloquent ORM需要定义模型类。

定义BREAD

创建完数据表,我们就可以在上面定义BREAD操作了,在数据库的界面找到才创建的表,为该表添加BREAD,在BREAD编辑页面中,我们可以具体对每一个字段定义其在管理时显示的中文名,那些在列表显示,哪些在编辑的时候显示等,因为每个字段要输入的内容各不相同,Voyager提供了各类输入类型,基本上可以应对大部分的需求,常见的日期选择器,富文本编辑器,文件上传等,各个类型可以增加详细的设置,比如文本域增加表单验证,图片上传增加缩略图生成等,这些详细的设置通过一个JSON字符串定义在每一个字段后面,具体的定义规范,一部分我们可以参考它已经建立的BREAD,另一部分我们可以查看官方这部分的说明文档。

https://laravelvoyager.com/docs/0.11/#core-concepts-bread-additional-field-options

其他的文档没提到的我们只能看原代码了🙁,大部分都是有规律可循的,比如表单验证用的就是Laravel的表单验证类,所以各种验证规则的关键字按Laravel的表单验证类写就可以,保存的时候,记得点击生成权限。

访问BREAD

建立完BREAD,我们进入角色菜单,我们登陆的用的属于admin角色,编辑该角色的权限,勾选我们才创建BREAD时生成的权限,然后访问localhost/admin/创建BREAD时填写的URL别名(URL slug),这个url就是该数据表的BREAD页面,列表、分页、增删改查、字段输入类型、表单验证就都已经完成了,没有写任何源代码,非常方便,根据业务需要我们就这样依次的建立业务表就可以了。

菜单构建

有了各个数据表的管理页面,我们还需要的就是分门别类的将它们组织起来,此时就可以使用菜单构建功能了,在工具中找到菜单构建,其中定义了一个名为admin的菜单,点击编辑,你会发现这就是我们当前正在使用的菜单,所以,其实admin用户的菜单就是用自己的菜单构建功能做的,为了能马上看到效果,我们就把我们在前面创建的BREAD页面添加到这个菜单里,编辑admin菜单,添加一个菜单项,填写相关名字等信息,选择静态路由,路由地址就填写刚才新建的BREAD的地址,比如/admin/computers,保存后,刷新,我们就看到新创建的菜单了。

权限管理

Voyager的权限管理是基于表的BREAD的,当一个用户需要管理一张表时,只需将该表的BREAD权限授予该用户所在的角色即可,这部分比较简单,容易理解,不再多说了。

设置功能

Voyager提供了一个设置(setting)功能,用过wordpress的这个其实和option表是一样的,存储各类静态的设置在数据库中,这样一些静态的设置要比写在配置文件中方便,一些设置可以开放给用户,设置中定义的设置项的值可以在代码中随时通过Voyager::setting('key')来取得。