栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP > php开源框架 > tpAdmin

概要 - tpAdmin 文档

tpAdmin 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

概要 - tpAdmin 文档


>[info] tpAdmin v1.2 正式发布,请前往 github 更新
> >[warning] tpadmin已升级为 1.1,之前 1.0 版本废弃,不再维护,也不再提供文档,此文档仅适用于 v1.1 及以上版本

## tpAdmin 是什么?
tpAdmin 是一个基于 ThinkPHP5.0 正式版和 Hui.admin v2.5 的管理后台,简化管理后台的开发流程,简化代码的编写,提高代码复用率,同时集成完整的权限管理和其他管理后台中常用的功能

## tpAdmin能做什么?
tpAdmin 是一个通用管理后台,不涉及任何死板的前端框架,或许它没有像 easyUI 这样的框架那么强大,却给了你非常灵活的开发模式,允许你加入任何你喜欢的插件、前端组件到框架中去,开发前也不需要看大量篇幅的前端文档。
**因为它非常灵活,所以你可以利用它开发任何 B/S 架构的管理后台**

## 特性
### 后端
* 模板、控制器、模型、验证器、数据表自动生成
* RBAC 权限管理
* 完美支持多级控制器及多级控制器权限管理
* 支持前置方法 before
* 支持方法拦截器,实现请求拦截
* 支持过滤器
* 支持模板主题(需自己按照文档修改官方源码使用)
* 节点自动扫描与添加
* 七牛上传及与百度编辑器 (Ueditor) 结合使用
* Excel 一键导出和一键导入
* 邮件发送( Fsock 和 phpMailer 两种驱动)
* ID 加密解密
* 网站操作日志记录(自动水平分表)
* 图片上传管理及回调

### 前端
* 表单校验
* 无限层级菜单,完美与后端多级控制器兼容
* 自动面包屑导航
* 基于 layer 的丰富弹层
* 支持 H5 + iframe 自动切换的无刷新上传
* ajax 请求处理封装,直接后台返回数据控制前端页面处理
* 多窗口办公
* 随机字符串生成
* 表格溢出处理
* 图片预览
* 二维码生成


## 本平台使用了如下框架或插件、源码:
* ThinkPHP 5.0.2 正式版
* Hui.admin v2.5
* layer
* jQuery Validform
* 七牛
* ...

> 非常感谢这些框架、插件的支持

## tpadmin官方交流 QQ 群
>[danger] tpadmin官方交流群:518162472
请打广告的朋友绕道,见一个踢一个,永久拉黑
![](https://box.kancloud.cn/36441b567943e31a2e4150535c4c7487_240x329.jpg)

##注意
tpadmin 使用了大量的 ajax 请求,本人实测过程中经常遇到 php.ini 文件报警告,导致返回的 json 数据出错,警告如下:
>[warning] Deprecated: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream instead. in Unknown on line 0

请修改 php.ini 文件里的 always_populate_raw_post_data ,将其值设为 -1 ,一般存在该配置项,直接删掉前面注释
PS:不会改谷歌或百度去

**ThinkPHP5.0 正式版有一些不适合管理后台需求,做了如下修改,请务必修改下面所示,以后升级必须检查此两处是否有做修复**

>[info] **为了支持 include 标签引入文件模板自动定位,修改了文件 `thinkphp/library/think/Template.php` 的 `parseTemplateName` 方法:**
```

private function parseTemplateName($templateName)
{
$array = explode(',', $templateName);
$parseStr = '';
foreach ($array as $templateName) {
if (empty($templateName)) {
continue;
}
if (0 === strpos($templateName, '$')) {
//支持加载变量文件名
$templateName = $this->get(substr($templateName, 1));
}


// 解决模板 include 标签不支持自动定位当前控制器的问题
if (!preg_match("/(/|:)/", $templateName)) {
$templateName = str_replace(".", DS, thinkLoader::parseName(thinkRequest::instance()->controller())) . DS . $templateName;
}


$template = $this->parseTemplateFile($templateName);
if ($template) {
// 获取模板文件内容
$parseStr .= file_get_contents($template);
}
}
return $parseStr;
}
```
>[info] **为了支持多级控制器,`thinkUrl::build` 方法有bug,`thinkUrl::build("one.two.Three")` 会生成 `one.two._three` 的链接,正确的应该是 `one.two.three`,修改了文件 `thinkphp/library/think/Loader.php` 的 `parseName` 方法:**

**ThinkPHP 5.0.4及以上版本请按此修改:**
```

public static function parseName($name, $type = 0, $ucfirst = true)
{

if ($type) {
return preg_replace_callback(['/_([a-zA-Z])/', '/([^.][a-zA-Z]*$)/'], function ($match) use ($ucfirst) {
return $ucfirst ? ucfirst($match[1]) : lcfirst($match[1]);
}, $name);
} else {
return strtolower(preg_replace('/((?<=[a-z])(?=[A-Z]))/', '_', $name));
}



}
```
**ThinkPHP 5.0.3及以下版本请按此修改:**
```

public static function parseName($name, $type = 0)
{

if ($type) {
return preg_replace_callback(['/_([a-zA-Z])/', '/([^.][a-zA-Z]*$)/'], function ($match) {
return ucfirst($match[1]);
}, $name);
} else {
return strtolower(preg_replace('/((?<=[a-z])(?=[A-Z]))/', '_', $name));
}

}
```

>[info]请使用框架使用的源码,不要自己随便更新或替换源码

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/214001.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号