首頁 > php框架 > YII > yii2中如何自訂公共類

yii2中如何自訂公共類

王林
發布: 2019-12-24 14:39:56
原創
2535 人瀏覽過

yii2中如何自訂公共類

以微信企業號為例: 

1、YII根目錄新建一個資料夾wechat,新建Wechat.php檔案

程式碼如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

<?

namespace app\wechat;

class Wechat

{

    const AGENTID = 3;//应用ID

    const CORPID = "wx5d0183ad90c95d8b";//ID

    const CORPSECRET = "KTHAkkVl4mX4Jr_g89d3PXajYupsUcJFvGWQ1K6ZMagTPOh4kiNMfBLFoDr12DVh";//秘钥

    const SCOPE = "snsapi_base";

    const STATE = "123";   

  

    //自动登录跳转

    public function wxauto($jumpurl){  

        $corpid = self::CORPID;

        $scope = self::SCOPE;

        $state = self::STATE; 

        $url=&#39;https://open.weixin.qq.com/connect/oauth2/authorize?appid=&#39;.$corpid.&#39;

        &redirect_uri=&#39;.urlencode($jumpurl).&#39;

        &response_type=code&scope=&#39;.$scope.&#39;&state=&#39;.$state.&#39;#wechat_redirect&#39;;

        header("Location:".$url);

        exit;

    }

     

    //推送信息

    public function getPush($userid , $agentid , $message){

            $userinfo = $this->getToken();//获取access_token

            $access_token = $userinfo[&#39;access_token&#39;];

            $sendmsg_url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=".

            $access_token;

            $data="{\"touser\":\"$userid\",\"msgtype\":\"text\",\"agentid\":$agentid,\"text\":

            {\"content\":\"$message\"},\"safe\":0}";

            $res = $this->curlPost($sendmsg_url,$data);

            $errmsg=json_decode($res)->errmsg;

    }

     

    //获取token

    public function getToken(){    

        $corpid = self::CORPID;

        $corpsecret = self::CORPSECRET;

        $Url="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=".$corpid."&corpsecret=".$corpsecret;

        $res = $this->curlPost($Url);

        $access_token=json_decode($res)->access_token;

        $userinfo = array();

        $userinfo[&#39;access_token&#39;]=$access_token;

        return $userinfo;

    }

     

    //定义curl方法

    public function curlPost($url,$data=""){

        $ch = curl_init();

        $opt = array(

                CURLOPT_URL     => $url,

                CURLOPT_HEADER  => 0,

                CURLOPT_POST    => 1,

                CURLOPT_POSTFIELDS      => $data,

                CURLOPT_RETURNTRANSFER  => 1,

                CURLOPT_TIMEOUT         => 20

        );

        $ssl = substr($url,0,8) == "https://" ? TRUE : FALSE;

        if ($ssl){

            $opt[CURLOPT_SSL_VERIFYHOST] = 2; //注意1已经弃用

            $opt[CURLOPT_SSL_VERIFYPEER] = FALSE;

        }

        curl_setopt_array($ch,$opt);

        $data = curl_exec($ch);

        curl_close($ch);

        return $data;

    }

###########**********增加获取微信openid***********#########################

}

?>

登入後複製

2、控制器的呼叫:

引入 use app\wechat\Wechat; 

1

2

3

4

5

6

7

8

$chat = new Wechat();  //实例化类

$REDIRECT_URI= $_SERVER[&#39;HTTP_HOST&#39;].&#39;/test/back&#39;;//定义跳转URL

$chat->wxauto($REDIRECT_URI);//调用类的方法

    $chat->getToken();//调用类的方法

 

$corpid = Wechat::CORPID;//调用类的常量

$corpsecret = Wechat::CORPSECRET;//调用类的常量

$agentid=Wechat::AGENTID;//调用类的常量

登入後複製

相關文章教學推薦:yii教學

以上是yii2中如何自訂公共類的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板