phpfetcher是一个通用数据后台,可十分方便地查询、关联、进行CURD管理数据库,而不需要写任何php和前端文件,而需要实现扩展的需求进行二次开发,本系统也提供了相应的前后端接口。
###菜单功能
- 系统管理
- 权限(菜单)树控制
- 菜单树
- 新增
- 修改
- 菜单树
- 缓存管理
- 权限缓存
- 管理员属组
- 权限管理
- 管理员
- 权限(菜单)树控制
- 日志
- 管理日志
- 个人设置
- 密码修改
- 数据管理
- 数据库
- 数据库记录配置
- 数据库表关联管理
- 数据管理模型
- CURD
- 数据库
###具体实现
- 权限(菜单)
- 权限菜单树管理,可管理全局权限
- 控制器绑定各个控制器
- 管理员属组可单独配置权限,优先级比全局权限低
- 缓存管理
- 可清除全局权限,包括管理员属组权限
- 日志
- 可记录管理员的各个后台操作,记录包括数据模型具体数据属性,访问来路,URL,管理员ID,时间,操作类型
- 修改管理员个人密码
- 数据管理
- 控制器
- CURD调用模型
- 权限检查
- csrf检查
- 页面HTML渲染输出
- 数据模型
- 实现对数据搜索查询
- 分页/排序
- 数据表关联
- 数据过滤验证
- HTML渲染配置(列表、创建、更新、删除、各按钮操作)
- 自定义HTML输出
- Insert/Update/Delete
- 自定义widget
- 渲染公共搜索,可设参数持久化
- 渲染公共列表、表头排序、表头固定
- 渲染公共分页、pageSize设置
- 渲染新增、更新页面
- 使用Vue.js对页面进行数据二次渲染,实现数据和组件双向绑定
- 字段可渲染组件
- text
- textarea
- radio
- checkbox
- select
- ueditor
- timepicker
- file
- images
- 关联数据模型可通过灵活的条件进行搜索并渲染select/radio/checkbox/text
- 新增/更新使用AJAX提交表单
- 使用H-ui.admin v2.4、H-ui v2.3实现前端框架布局
- 通过extends Phpfetcher\logic\BaseController的class是可进行二次开发的Controller类以实现更复杂的任务分发需求
- 通过extends Phpfetcher\logic\model\BaseModel的class是可进行二次开发的Model类以实现更复杂的数据处理需求
- 可扫描数据库并生成所有表基本配置,包括创表SQL,字段标签,字段验证规则,此后可修改相应记录即可对表的个性化调整,包括字段标签,字段验证规则,搜索条件设置,数据列表设置,数据操作限制,字段编辑输入框样式和关联数据筛选。如无特殊需要,此过程不需再编写PHP或HTML等前端文件
- 控制器
###部署
- 安装composer
- 安装Composer Asset插件
- 命令行输入:composer global require "fxp/composer-asset-plugin:1.0.0"
- 安装yii2高级应用程序模板
- cd到安装路径
- 命令行输入:composer create-project yiisoft/yii2-app-advanced DIRNAME 2.0.4
- DIRNAME位安装的文件夹名称
- 下载lamp9/phpfetcher仓库
- cd到安装路径
- 命令行输入:git clone https://github.com/lamp9/phpfetcher.git
- 修改程序配置
- 修改程序web/index.php中$framework_dir变量为yii2框架根目录
- 修改config/main.php中db的配置
- 导入admin.sql到mysql数据库
- cd到yii2程序根目录,修改composer.json,psr-4元素中增加本程序的web目录的决定路径,并在命令行运行:composer update
- 如本项目运行在nginx下,则设置为
location / {
if (!-e $request_filename) {
rewrite ^/([\w-]+)/([\w-]+)?[\w-]+$ /index.php?r=$1/$2&$query_string last;
rewrite ^/([\w-]+)/([\w-]+)$ /index.php?r=$1/$2 last;
}
} - 如本项目运行在apache下(本项目已默认设置.htaccess),则设置为
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([\w-]+)/([\w-]+)$ index.php?r=$1/$2 [QSA,L]
</IfModule> - 部署完成后输入用户名:root,密码:123则可使用本系统