當咱們須要在控制層調用相同的封裝函數時,寫屢次相同的函數,顯得代碼十分的拉雜,不精簡;php
TP框架有一個很好的機制,能夠再Common定義一個function.php函數,當咱們在控制層調用的時候直接調用就能夠使用,方便快捷;json
具體實現方便以下:數組
咱們能夠再三個地方設置公共的函數function.php框架
(注意:function.php默認是不存在的,需手動建立)curl
具體講function存放在哪裏本身能夠自由的選擇函數
另外當咱們不想使用function命名的function.php函數時,也是能夠的,可是就是須要本身手動設置下url
方法以下:spa
在根目錄/Application/Common/Conf/config.php中添加配置:code
"LOAD_EXT_FILE" =>'vaildata',//自動加載公共目錄Common下的擴展函數庫
此時就能夠自動加載vaildate.php 文件了。
若是有多個須要自動加載的文件,在配置項的值中以","進行分隔便可,例如:blog
"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("接口地址")便可; } } ?>
以上就是Thinkphp3.2.3框架下封裝公共的函數和封裝CURL函數來獲取接口數據的例子;