Thinkphp3.2.3框架下封裝公共的函數,例如封裝CURL函數來獲取接口數據


 當我們需要在控制層調用相同的封裝函數時,寫多次相同的函數,顯得代碼十分的拉雜,不精簡;

TP框架有一個很好的機制,可以再Common定義一個function.php函數,當我們在控制層調用的時候直接調用就可以使用,方便快捷;

具體實現方便如下:

我們可以再三個地方設置公共的函數function.php

(注意:function.php默認是不存在的,需手動創建)

  1. 根目錄\Application\Common\Common\function.php(公共的函數,Home和Admin都可以調用)
  2. 根目錄\Application\Home\Common\function.php(Home層公共的函數,只可以Home層調用)
  3. 根目錄\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("接口地址")即可;
   
    }
}
?>

以上就是Thinkphp3.2.3框架下封裝公共的函數和封裝CURL函數來獲取接口數據的例子;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM