這篇文章講述瞭如何在TP框架下封裝公共函數,大家對TP框架下封裝公共函數不了解的話或對TP框架下封裝公共函數感興趣的話那麼我們就一起來看看這篇文章吧, 好了廢話少說進入正題吧
當我們需要在控制層調用相同的封裝函數時,寫多次相同的函數,顯得代碼十分的拉雜,不精簡;
# TP框架有一個很好的機制,可以再Common定義一個function.php函數,當我們在控制層呼叫的時候直接呼叫就可以使用,方便快捷;
具體實現方便如下:
我們可以再三個地方設定公共的函數function.php
(注意:function.php預設是不存在的,需要手動創建)
根目錄\Application\Common\Common\function.php(公共的函數,Home和Admin都可以呼叫)
根目錄\Application\Home\Common\function.php(Home層公共的函數,只可以Home層呼叫)
根目錄\Application\Admin\Common\function.php(Admin層公共的函數,只可以Admin層呼叫)
#具體講function存放在哪裡自己可以自由的選擇
#另外當我們不想使用function命名的function.php函數時,也是可以的,但是就是需要自行手動設定下
方法如下:
在根目錄/Application/Common/Conf/config.php中新增設定:
"LOAD_EXT_FILE" =>'vaildata',//自动加载公共目录Common下的扩展函数库
此時就可以自動載入vaildate.php 檔案了。
如果有多個需要自動載入的文件,在組態項目的值中以","分隔即可,例如:
"LOAD_EXT_FILE" =>'vaildata,upload,download',//自动加载公共目录Common下的扩展函数库
範例:封裝CURL函數來取得介面資料
#第一步:在根目錄\Application\Home\ Common\建立function.php函數;
<?php //封装公共的CURL函数 function curl($url){ $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); $data = curl_exec($curl); curl_close($curl); return $data; } ?>
第二步:在需要呼叫的Controller層呼叫CURL函數;
<?php namespace Home\Controller;use Think\Controller;class WxJsAPIController extends Controller { public function index(){ //获取接口数据 $url = '此处填写接口地址'; $data_son = curl($url);//调取function.php封装的CURL函数 $data = json_decode($data_json,true)['access_token']; var_dump($data);//JSON数据转换成数组形式 //如果还需要调用CURL函数,同上直接curl("接口地址")即可; } } ?>
以上就是本篇文章的所有內容,大家要是還不太了解的話,可以自己多實現兩邊就很容易掌握了哦!
相關推薦:
以上是TP框架下封裝公用函數詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!