最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

yii2中如何自定义公共类

来源:动视网 责编:小采 时间:2020-11-03 18:21:24
文档

yii2中如何自定义公共类

yii2中如何自定义公共类:以微信企业号为例: 1、在YII根目录新建一个文件夹wechat,新建Wechat.php文件代码如下:< namespace app\wechat; class Wechat { const AGENTID = 3;//应用ID const CORPID = "wx5d0183ad90c95d8b&quo
推荐度:
导读yii2中如何自定义公共类:以微信企业号为例: 1、在YII根目录新建一个文件夹wechat,新建Wechat.php文件代码如下:< namespace app\wechat; class Wechat { const AGENTID = 3;//应用ID const CORPID = "wx5d0183ad90c95d8b&quo


以微信企业号为例:

1、在YII根目录新建一个文件夹wechat,新建Wechat.php文件

代码如下:

<? 
namespace appwechat;
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='https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$corpid.'
	&redirect_uri='.urlencode($jumpurl).'
	&response_type=code&scope='.$scope.'&state='.$state.'#wechat_redirect';
	header("Location:".$url);
	exit;
	}
	
	//推送信息
	public function getPush($userid , $agentid , $message){
	$userinfo = $this->getToken();//获取access_token
	$access_token = $userinfo['access_token'];
	$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['access_token']=$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 appwechatWechat;

	$chat = new Wechat(); //实例化类
	$REDIRECT_URI= $_SERVER['HTTP_HOST'].'/test/back';//定义跳转URL
	$chat->wxauto($REDIRECT_URI);//调用类的方法
 $chat->getToken();//调用类的方法
 
	$corpid = Wechat::CORPID;//调用类的常量
	$corpsecret = Wechat::CORPSECRET;//调用类的常量
	$agentid=Wechat::AGENTID;//调用类的常量

相关文章教程推荐:yii教程

文档

yii2中如何自定义公共类

yii2中如何自定义公共类:以微信企业号为例: 1、在YII根目录新建一个文件夹wechat,新建Wechat.php文件代码如下:< namespace app\wechat; class Wechat { const AGENTID = 3;//应用ID const CORPID = "wx5d0183ad90c95d8b&quo
推荐度:
标签: 自定义 定义 公共
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top