# 基础控制器介绍
## **基础控制器【grace】源码及说明**
所有的自定义控制器必须继承 grace 基础控制器,基础控制器内置了一些常用的方法以便您的开发!您也可以扩展 grace 来实现更为便捷的开发 ^\_^
~~~
<?php
class grace{
public $gets; //url 参数集合
public $tableName = null; //绑定数据表名称
public $tableKey = null; //对应数据表的主键
public $db; //数据表操作对象
public $order = null; //查询排序
public $postFilter = true; //是否过滤 post 内的攻击性字符
public $pageInfo = array('', '', ''); //网站开发是页面的标题、关键字、描述
public function __construct(){}
//初始化函数
public function __init(){}
//视图展示函数,系统会自动展示视图,您也可以使用此方法手动调用视图
public function display($tplName = null){}
//语言包设置函数
protected function setLang($langType){}
//json 结果输出函数,会终止运行,参数 1 : 数据内容,参数 2 : 状态【默认 ok】
protected function json($data, $type = 'ok'){
pgExit(json_encode(array('status' => $type, 'data' => $data)));
}
//根据数据表配置获取数据列表【带有分页】
protected function dataList($everyPagerNum = 20, $fields = '*'){
}
//根据数据表配置获取数据【利用主键获取】
protected function getDataById(){
if(empty($this->gets[0])){return null;}
return $this->db->where($this->tableKey .' = ?', array(intval($this->gets[0])))->fetch();
}
//表单的默认值填充【依赖 jquery】
protected function getDefaultVal($exception = array()){
if(empty($this->gets[0])){return null;}
//......
return $data;
}
//跳转到分组首页并终止程序运行
public function skipToIndex(){
header('location:'.PG_SROOT);
exit;
}
//检查 $this->gets[xx] 是否存在或为空,为空则为其赋指定的值
protected function initVal($key, $val = ''){
if(empty($this->gets[$key])){$this->gets[$key] = $val;}
}
//检查 $this->gets[xx] 是否存在或为空,为空则为其赋指定的值,不为空则进行整数规范
protected function intVal($key, $val = 0){
if(empty($this->gets[$key])){
$this->gets[$key] = 0;
}else{
$this->gets[$key] = intval($this->gets[$key]);
}
}
}
~~~
- 快速开始
- phpGrace 介绍
- 环境需求及伪静态设置
- 目录结构及命名规则
- 初始化、原理、分组
- 控制器与路由
- 创建控制器
- 基础控制器
- URL解析规则
- 自定义路由
- URL生成
- 数据与模型
- 数据库配置
- 获取数据库操作对象
- 数据库操作(CURD)
- 数据分页详解
- 事务处理
- 数据验证
- 表单令牌及验证
- 模型创建与调用
- 视图
- 视图文件创建
- 调用、引用视图
- 视图路径模式
- 会话机制
- Cookie 操作
- Session[文件型 ]
- Session [memcache]
- Session [redis]
- 缓存机制
- 缓存概述及配置
- 文件型缓存
- Memcache 形式的缓存
- Memcache介绍
- Memcache安装
- 开启PHP Memcache
- PHP操作Memcache
- Memcache来保存Session
- Memcached图形化管理工具
- Memcache安全相关
- redis 形式的缓存
- Redis介绍
- Redis安装
- 开启 PHP Redis
- Redis图形化管理工具
- PHP操作Redis
- 配置、常量、语言
- 全局配置、分组配置
- 预定义常量
- 语言包使用说明
- 工具
- 函数小工具
- 安全与扩展
- 框架部署安全
- 常规安全
- 扩展说明
- 常用类库
- 图片处理类
- 文件上传类
- IP地址获取类
- 验证码绘制类
- 日期时间换算类
- md5加密类
- 服务器信息类
- curl通信类
- 文件下载类
- 类反射工具
- XML生成与解析
- 汉字转拼音类
- 文件夹操作
- 人民币大写转换类
- 第三方类库
- QQ登录 - web版
- 微信扫码登录-网站
- excel 读写操作
- 阿里云短信接口
- SMTP 邮件发送
- 二维码生成类
- word、pdf 生成类
- 阿里云静态云存储接口类