# 控制器方法覆蓋(cover)
## 原理
通過覆蓋對應的控制器方法,讓程序調用該方法的時候,調用自己二開后的功能。
## 舉例
**需要實現的功能**
如果我要在用戶進入首頁的時候檢測用戶的IP,并顯示在首頁上顯示出用戶的訪問IP
**分析**
首頁相關的控制器是`Home/c/HomeController.php`,相關的方法是`index()`
那么我要做的是在`index()`方法里面寫一個獲取用戶IP的東西,并想辦法顯示到首頁`index.html`上面
**實現**
1. 復制`Home/c/`下面的`HomeController.php`到`Home/plugins/`目錄下面
2. 修改內容如下:
~~~
namespace Home\plugins;//更改這個地方,原來是 c 改為 plugins
use Home\c\CommonController;//更改這個地方,原來FrPHP\lib\Controller
use FrPHP\Extend\Page;
use FrPHP\Extend\ArrayPage;
~~~
3. 在這個新文件里面的`index()`方法里寫獲取用戶IP的方法
~~~
//首頁
function index(){
//插入獲取用戶IP的方法
$ip = GetIP(); //系統內置的方法,無需考慮如何實現
//賦值到模板中輸出,這一步不能缺少,否則無法輸出
$this->ip = $ip;
/**以上為新增內容**/
$url = current_url();
$cache_file = APP_PATH.'cache/data/'.md5(frencode($url));
$this->cache_file = $cache_file;
$this->start_cache($cache_file);
$this->display($this->template.'/index');
$this->end_cache($this->cache_file);
}
~~~
4. 模板`index.html`中輸出用戶IP
~~~
{$ip} 或者 {php echo $ip /}
~~~
5. 制成后臺安裝插件,請查看左側相關章節。
> 是不是相當簡單? 簡單就對了,極致CMS就是很簡答的東西~
- 引言
- 條款
- 開始使用
- 模板標簽
- 公共配置
- 系統配置
- 自定義配置
- 網站欄目
- 全局欄目屬性
- 導航欄相關
- 當前欄目下的直系下級
- 當前欄目下的直系上級
- 欄目詳情頁
- 欄目列表頁
- 欄目分頁
- 輸出三級及三級以上欄目
- 當前位置面包屑
- 獲取當前欄目的頂級欄目
- 直播講解欄目相關
- 文章詳情頁
- 基本內容
- 點贊
- 收藏
- 相關文章
- 輸出新增字段
- 商品詳情頁
- 基本內容
- 輸出新增字段
- 商品圖集
- 點贊
- 收藏
- *點評星星
- 加入購物車
- *評論
- 相關商品
- 自定義字段
- 原樣輸出
- 單選字段
- 多選字段
- loop標簽
- 通用說明
- loop分頁
- 案例說明
- like使用
- 怎么判斷loop沒有數據
- limit使用
- day參數
- table缺省參數
- 單選多選相關
- 單選字段輸出
- 多選字段輸出
- 特殊輸出
- 輸出換行
- 替換字符串
- 輸出被解析的HTML原句
- 截取字符串
- 內容body去除HTML
- 分割字符輸出
- 人性化時間顯示
- 搜索功能
- 單模塊搜索
- 多模塊搜索
- 搜索擴展
- 搜索結果列表頁
- 會員模塊
- 判斷是否登錄
- 判斷是否評論
- 計算評論數
- 如果判斷會員組是否權限
- 如何輸出分組信息
- 如何輸出所有用戶分組
- 如何輸出所有會員
- 輸出某個會員發布的內容
- 查詢一個用戶的所有信息
- 輸出我的粉絲列表
- 輸出我的關注列表
- 獲取粉絲數
- 獲取關注數
- 判斷是否關注
- 關注與取消關注鏈接
- 判斷會員是否購買該商品
- foreach標簽
- for標簽
- fun標簽
- php標簽
- 不解析標簽
- if..else..標簽
- screen篩選標簽
- 客戶端判斷
- 輪播圖
- 友情鏈接
- 自定義圖集輸出
- Tags標簽調用及使用說明
- 網站留言調用
- 自定義單頁
- 各種統計
- 各種計數顯示數
- 文章歸檔內容歸檔
- 系統架構
- 高級功能
- ajax數據交互
- ajax在欄目頁的應用
- ajax在screen篩選中的應用
- screen多選篩選
- Message留言表單
- 萬能表單
- 多語言支持
- 系統高級配置說明
- 網站動態鏈接
- 郵件發送
- 自定義路由配置
- 插件開發
- 控制器方法覆蓋(cover)[簡單]
- 控制器方法鉤子(hook)[復雜]
- 制成后臺安裝插件
- 微信小程序
- 開始起步
- 小程序開發
- API訪問接口數據
- 輪播圖(幻燈片)
- 訪問欄目列表
- 詳情頁查詢
- 欄目詳情查詢
- 留言接口
- 附錄
- 時間
- 富文本編輯器導航
- 偽靜態配置
- 二維碼生成
- 常見問題
- 靜態生成HTML頁面失敗問題
- 為什么默認模板打開首頁很慢,而打開后臺卻很快?
- 如何判斷首頁、欄目頁、內容頁、單頁
- 視頻教程
- 版本更新
- 寶塔一鍵部署