HisiPHP v2 是基于TP5.1 LTS 开发的,不算完全重构版本,相较于v1在目录结构上有很大的调整,V2将严格按照ThinkPHP5.1的目录结构和规范,V1版用户不建议直接升级到v2,如果你在开发扩展模块的时候有遵循TP5.1的开发规范,那么你的扩展模块可以直接导入到V2版本。以下是一些V1升级到v2的指导意见:
1、模板后缀必须改成.html
2、v1的后台模块名叫admin,v2的后台模块名叫system,扩展的模块如果有继承后台的Admin.php,需要将原来的 use app\admin\controller\Admin; 改成 use app\system\admin\Admin;
3、后台模板继承 需要将原来的{include file="admin@block/layui" /} 改成 {include file="system@block/layui" /}
4、在V1下面的表单自动赋值是调用了 <script src="__ADMIN_JS__/footer.js"></script>,在v2下面已经删除了此文件,需要改成:<script>
layui.use(['func'], function(){
layui.func.assign({:json_encode($formData)});
});
</script>
5、后台模板默认赋值变量调整如下:
v1 $this->assign('tab_type'),v2 $this->assign('hisiTabType')
v1 $this->assign('tab_data'),v2 $this->assign('hisiTabData')
v1 $this->assign('data_info'),v2 $this->assign('formData')
6、分组切换类型(hisiTabType) 调整:0无需分组切换[默认],1单个分组,2分组切换[无链接],3分组切换[有链接]
7、V2系统模块默认无会员功能,将以独立模块发布(基础版免费)
8、后台通用添加、修改、状态、删除、排序方法调整如下:
v1下面是在URL传参 hisi_model 或 hisi_table,在V2下面支持两种模式:
[推荐]第一种:控制器里面定义属性,具体定义如下:
// [通用添加、修改专用] 模型名称,格式:模块名/模型名
protected $hisiModel = '';
// [通用添加、修改专用] 表名(不含表前缀)
protected $hisiTable = '';
// [通用添加、修改专用] 验证器类,格式:app\模块\validate\验证器类名
protected $hisiValidate = false;
//[通用添加专用] 添加数据验证场景名
protected $hisiAddScene = false;
//[通用更新专用] 更新数据验证场景名
protected $hisiEditScene = false;
第二种:URL传参,参数名调整为hisiModel 或 hisiTable,新增hisiValidate(验证器),新增hisiScene(验证场景)
如有其它升级问题,请留贴,谢谢!
最后于 2019-1-14
被hisiphp编辑
,原因: