Download the PHP package forone/administrator without Composer
On this page you can find all versions of the php package forone/administrator. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download forone/administrator
More information about forone/administrator
Files in forone/administrator
Package administrator
Short Description Admin system based on Laravel 5.1
License MIT
Homepage https://github.com/ForoneTech/LaravelAdmin
Informations about the package administrator
实在招不到人,在此打个广告,招Laravel工程师,请联系 [email protected] 或 1283233833
框架Demo地址:Demo
Demo账号:[email protected] 密码:admin
Demo源码:源码
ForoneAdministrator 是一款基于Laravel5.2封装的后台管理系统,集成了Entrust权限管理,并针对业务的增删改查进行了视图和业务层的封装,有助于进行后台管理系统的快速研发。
- 安装初始化
- forone配置
- 权限控制
- 1分钟完成分类模块
- 视图控件
- 数据列表头 - Html::list_header
- 数据列表 - Html::datagrid
- 下拉列表选择 - Form::form_select
- 单选Radio - Form::form_radio
- 时间控件 - Form::form_time
- 日期控件 - Form::form_date
- 单行文本输入框 - From::form_text
- 多行文本输入框 - From::form_area
- 单文件上传 - Form::single_file_upload
- 多文件上传 - Form::multi_file_upload
- 文件浏览 - Form::file_viewer
- 富文本编辑器 - Form::ueditor
- 提高研发效率的几个自定义命令
效果图
PC端

移动端

安装初始化
系统要求:
- Laravel 5.2+
- PHP 5.5.9+
由于不可抗力因素,最好在compoer.json里加入如下配置后再开始安装,设置国内的composer镜像同时也可设置直接从国内git服务器上下载。
由于使用的entrust还处于dev状态,所以需要将composer.json里的minimum-stability 设置为 dev
由于启用了
"minimum-stability" : "dev",Laravel的dev版本会导致paginate出错,请在composer.json里将laravel版本设置为确定的版本号,例如5.1.4
使用composer进行安装 5.2.x版本
编辑 config/app.php 注册 providers 和 aliases
发布资源,运行下面命令会自动生成默认的配置文件并复制静态文件和数据库文件
修改.env通过环境变量设置初始管理员账号密码
ADMIN_EMAIL默认为[email protected]
ADMIN_PASSWORD默认为admin
系统初始化
用户表默认使用admins表,用户模型使用Forone类的Admin模型,在laravel自带的auth.app内配置model项,
5.2.0之后laravel版本,在用户模型内请务必删除继承的AuthorizableContract类,否则会报错
为App\User添加Entrust的Trait,以便使用一些封装的方法
使用EntrustUserTrait的时候注意需要引入该类:
现在就可以使用.env里的管理员账号密码登陆了
forone配置
权限控制
权限控制主要分两部分,一部分是控制菜单是否显示,通过菜单的permission属性即可完成,另一部分是控制路由,通过admin.permission中间件传参来进行控制即可,主要有两种使用场景:
-
在routes里进行权限控制,这种用法是直接使用middleware进行自动判定的,更多的别的路由过滤的用法请看
entrust文档 - 在Controller里对Controller的所有请求进行权限控制
1分钟完成分类管理模块
以最简单的模块为实例,假设数据库已建好,需要创建一个分类管理模块
- 复制
PermissionsController并粘贴更名为CategoriesController;复制views/permissions文件夹并粘贴更名为views/categories - 编辑
CategoriesController,修改以下几处:- 修改类名为文件名
- 修改构造函数的uri和name为
parent::__construct('categories', '分类管理'); - 批量修改
Permission为Category - 修改
index里的数据列表显示项 Request类视情况调整
- 编辑
views/categories/form.blade.php,修改输入项及描述名称 - 编辑
routes.php添加路由Route::resource('categories', 'CategoriesController'); - 编辑
forone.php添加菜单"分类管理"=>["uri"=>"categories"]
复杂的模块可能在index或者其它部分有更复杂的改动,总体上来说
Controller的结构和基本功能代码及views的都可以复用
视图控件
详细描述封装好的便于使用的数据控件
数据列表
用法:{!! Html::datagrid($results) !!}
数据:数据源为数组
数据项参数:
- 列名称
- 数据项的属性,其中
buttons是固定的按钮列使用属性 - 有以下几种情况:
- 可以为空,就按默认情况显示
- 可以为数字,为显示的列宽
- 可以为函数,用以处理数据项并返回显示结果,包括根据不同权限返回不同结果等,作为函数的时候也可以直接返回
html代码以显示任意内容
- 为函数,作为
buttons项的时候,返回的按钮数组有以下几种情况:查看,编辑默认会跳转到查看和编辑页面启用,禁用默认会单独修改数据项的enabled字段- 点击按钮后需要修改某个字段为某个值,比如审核通过或者驳回之类:
[['name'=>'审核','class'=>'btn-danger'],['tested'=>'true','other'=>'somevalue']]第一个数组描述按钮的名称和样式,第二个数组描述需要更改的字段和值 - 点击按钮后需要调用某个接口并传参数:
[['name' => '审核', 'uri' => 'lastInstance.get', 'method' => 'GET','id'=>$project->id],[]],uri使用路由名称 - 点击按钮后需要弹出某个弹出框,
['配置','#modal'],就会弹出来id为modal的弹出框
数据列表头 - 新增、检索、过滤筛选等
用法:
数据项参数:
new表示是否显示新增按钮,点击后跳转到创建页面search表示是否显示检索输入框,输入检索内容后,默认以keywords为参数传递到后端接口,相当于?keywords=xxxtitle标题filters数据源为数组,如下:
status和other是该数据项的字段名,它们对应的数组是显示出来供选择的选项,选择后会自动提交请求,相当于?status=''&other=''。
相应的在Controller的index方法里,添加很简单的代码即可实现分页的同时自动加上相应的参数,并根据参数过滤相应的内容,如下:
针对简单内容的筛选,基本上检索代码都可以直接Copy使用,仅需修改
Model即可
下拉列表选择
用法:
参数:
- 字段名
- 数据项的Label名称
- 下拉列表数据,label表示显示出来的内容,value表示存储的时候使用的内容
- 长度,默认是bootstratp整行的一半,等同于
col-md-6 - 是否用于
modal,因为modal样式有些差异,所以加了这个参数
单选radio
用法:
参数:
- 字段名
- 数据项的Label名称
- 数据内容,包括
- 存储时用的数据
- 显示出来的名称
- 是否默认选中
- 长度,默认是bootstratp整行的一半,等同于
col-md-6,radio因为经常比较多,默认是1
时间控件
用法:
参数:
- 字段名
- label名称
- 提示文字
日期控件
用法:
参数:
- 字段名
- label名称
- 提示文字
单行文本输入
用法:
多行文本输入
用法:
单文件上传
用法:
参数:
- 字段名
- 项名称
- 项宽度,默认
0.5 - 上传平台,目前默认且仅支持
qiniu
多文件上传
用法:
参数:
- 字段名
- 项名称
- 是否显示图片描述输入框
- 项宽度,默认
0.5 - 上传平台,目前默认且仅支持
qiniu
文件浏览器
用法:
参数:
- 字段名
- 项名称
- 项宽度,默认
0.5
富文本编辑器
用法:
参数:
- 字段名
- 项名称
- 项宽度,默认
0.5
提高研发效率的几个自定义命令
php artisan forone:init系统初始化命令,只可运行一次。php artisan db:backup通过iseed库自动备份当前数据库的数据到Seeder文件里,解决研发时测试数据同步或临时数据结构变更测试数据面临清空等问题。并可根据migrations的文件顺序进行合理的排序,避免由于依赖关系引起的后续数据填充问题。php artisan db:clear清空数据库,心情不爽的时候用一下,感觉棒棒哒。php artisan db:upgrade升级数据库,可能加了新的字段等,会自动填充Seeder文件里的数据,升级之前最好先备份下数据。php artisan forone:copy可复制一些文件到实际项目里,比如复制routes文件以便自定义route
All versions of administrator with dependencies
illuminate/routing Version 5.1.*
illuminate/support Version 5.1.*
illuminate/html Version 5.0.0
doctrine/dbal Version ^2.5
qiniu/php-sdk Version v7.0.4
orangehill/iseed Version ^2.0
zizaco/entrust Version dev-laravel-5