# 基礎控制器介紹
## **基礎控制器【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 生成類
- 阿里云靜態云存儲接口類