首页 > 后端开发 > 正文

公众号php框架 想学习微信公众平台开发需要学习那些知识呢?PHP JAVA or HTML?

2023-09-10 15:48:34 | 我爱编程网

今天,我爱编程网小编为关注后端开发的同学们准备了公众号php框架 想学习微信公众平台开发需要学习那些知识呢?PHP JAVA or HTML?,下面一起来看一下吧。

公众号php框架 想学习微信公众平台开发需要学习那些知识呢?PHP JAVA or HTML?

如何将微信公众号文章同步到Php和cms系统网站里!

运行孤狼采集器软件,点击发布到发布窗口界面; 2、点击添加,选择发布接口,选择网站编码、填写后台路径、(因为是免登陆接口)选择不需要登录&http请求,然后获取列表看看是否成功,成功后请保持配置,就可以直接发布文章进去了!

公众号php框架 想学习微信公众平台开发需要学习那些知识呢?PHP JAVA or HTML?

Thinkphp3.2.3接入公众号响应微信发送的Token验证总是失败

用得着判断那个TOKEN?是不是多此一举,用我这个,包你满意

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends WechatController {
    public function index(){
     $v = $_GET["echostr"];
     if(!isset($v)){//根据随机字符串判断是否之前已经验证过,避免重复验证
$this->receive();
}else{
$this->checkSignature();
}
    }
//未验证执行验证
public function checkSignature(){
        $signature = I("signature");//加密签名
        $timestamp = I("timestamp");//时间戳
        $nonce = I("nonce");//随机数
        $token = TOKEN;//token
$tmpArr = array($token,$timestamp, $nonce);//组成新数组
sort($tmpArr,SORT_STRING);//重新排序
$tmpStr = implode($tmpArr);//转换成字符串
$tmpStr = sha1($tmpStr);//再将字符串进行加密
if( $tmpStr == $signature )
{
echo $_GET["echostr"];
exit;
//return true;
}else{
return false;
}
}
//已经验证过执行这里
public function receive(){
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];//获取用户发送的消息,格式为xml
//$postStr = file_get_contents("php://input");
libxml_disable_entity_loader(true);
$postObj = simplexml_load_string($postStr, "SimpleXMLElement", LIBXML_NOCDATA);
$this->logger($postStr);
//并且回复信息给用户
if(!empty($postObj)){
switch($postObj->MsgType){
case "text":
$result = $this->receiveText($postObj);
//避免错误信息报出
if(empty($result)){
$xml = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
</xml>";
$result = sprintf($xml,$postObj->FromUserName,$postObj->ToUserName,time(),$postObj->MsgType,"多图文信息没有获取到");
}
echo $result;
break;
case "image":
$result = $this->receiveImage($postObj);
if(empty($result)){
$xml ="<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<ArticleCount>1</ArticleCount>
<Articles>
<item>
<Title><![CDATA[%s]]></Title> 
<Description><![CDATA[%s]]></Description>
<PicUrl><![CDATA[%s]]></PicUrl>
<Url><![CDATA[%s]]></Url>
</item>
</Articles>
</xml>";
$result = sprintf($xml,$postObj->FromUserName,$postObj->ToUserName,time(),"news","跟老李一起来做微信开发","微信开发即微信公众平台开发,将企业信息、服务、活动等内容通过微信网页的方式进行表现,用户通过简单的设置,就能生成微信3G网站。通过微信公众平台将企业品牌展示给微信用户,减少宣传成本,建立企业与消费者、客户的一对一互动和沟通,将消费者接入企业CRM系统,进行促销、推广、宣传、售后等。形成了一种主流的线上线下微信互动营销方式。","
}
echo $result;
break;
case "event":
$result = $this->receiveEvent($postObj);
if(empty($result)){
$xml = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
</xml>";
$result = sprintf($xml,$postObj->FromUserName,$postObj->ToUserName,time(),"text","感谢您关注微信接口测试服务号,我是李先生!");
}
echo $result;
break;
default :
$result = "你发送的数据类型暂时不做处理: " . $postObj->MsgType;
echo $result;
break;
}
}

}
//log
private function logger($content){
$logSize=100000;
$log = "./log.txt";
if(file_exists($log) && filesize($log) > $logSize){
unlink($log);
}
file_put_contents($log, date("Y-m-d H:i:s")." ".$content."\n",FILE_APPEND);
}
//关注自动回复信息
private function receiveEvent($postObj){
$xml = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
</xml>";
if($postObj->Event=="subscribe"){
$result = sprintf($xml,$postObj->FromUserName,$postObj->ToUserName,time(),"text","感谢您关注微信接口测试服务号,我是李先生!");
}else if($postObj->Event=="CLICK"){
if($postObj->EventKey=="getSalary"){
$result = sprintf($xml,$postObj->FromUserName,$postObj->ToUserName,time(),"text","您点击了【查询->工资】按钮");
}else if($postObj->EventKey=="getAttendance"){
$result = sprintf($xml,$postObj->FromUserName,$postObj->ToUserName,time(),"text","您点击了【查询->考勤记录】按钮");
}else if($postObj->EventKey=="getBonus"){
$result = sprintf($xml,$postObj->FromUserName,$postObj->ToUserName,time(),"text","您点击了【查询->奖金明细】按钮");
}else if($postObj->EventKey=="getAbout"){
$result = sprintf($xml,$postObj->FromUserName,$postObj->ToUserName,time(),"text","您点击了【关于我们->联系】按钮");
}else if($postObj->EventKey=="getJoin"){
$result = sprintf($xml,$postObj->FromUserName,$postObj->ToUserName,time(),"text","您点击了【关于我们->加入我们】按钮");
}else if($postObj->EventKey=="getCustomer"){
$result = sprintf($xml,$postObj->FromUserName,$postObj->ToUserName,time(),"text","您点击了【关于我们->客服】按钮");
}else if($postObj->EventKey=="getInternational"){
$result = sprintf($xml,$postObj->FromUserName,$postObj->ToUserName,time(),"text","您点击了【新闻->国际】按钮");
}else if($postObj->EventKey=="getIndustry"){
$result = sprintf($xml,$postObj->FromUserName,$postObj->ToUserName,time(),"text","您点击了【新闻->行业】按钮");
}
}else if($postObj->Event=="scancode_waitmsg"){
//扫码带提示的事件
$result = sprintf($xml,$postObj->FromUserName,$postObj->ToUserName,time(),"text","您使用了扫码带提示事件,事件KEY:{$postObj->EventKey}");
}else if($postObj->Event=="scancode_push"){
//扫码推事件
$result = sprintf($xml,$postObj->FromUserName,$postObj->ToUserName,time(),"text","您使用了扫码推事件,事件KEY:{$postObj->EventKey}");
}else{
$result = sprintf($xml,$postObj->FromUserName,$postObj->ToUserName,time(),"text","您的操作有点奇葩");
}
return $result;
}
//处理接收的文本信息并且回复给用户
private function receiveText($postObj){
$content = trim($postObj->Content);
//if(strstr($content,"你好")){
if(preg_match("/^\d*$/",$content)){
//回复多图文信息
$result = $this->receiveNews($postObj);
return $result;  
}else if($content=="图片"){
//回复图片信息
$xml = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Image>
<MediaId><![CDATA[%s]]></MediaId>
</Image>
</xml>";
$result = sprintf($xml,$postObj->FromUserName,$postObj->ToUserName,time(),"image","t8ASWVXMl1vyPfFmDzNEzLq2Z2B6WiM4JI4pBc23quMuc91t9NM1GWFGajCDuMv-");
return $result;
}else{
//回复文本信息
$xml = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
</xml>";
$result = sprintf($xml,$postObj->FromUserName,$postObj->ToUserName,time(),$postObj->MsgType,$content);
return $result;
}
}
//处理接收的文本信息并且回复给用户为单图文信息
private function receiveImage($postObj){
$xml ="<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<ArticleCount>1</ArticleCount>
<Articles>
<item>
<Title><![CDATA[%s]]></Title> 
<Description><![CDATA[%s]]></Description>
<PicUrl><![CDATA[%s]]></PicUrl>
<Url><![CDATA[%s]]></Url>
</item>
</Articles>
</xml>";
$result = sprintf($xml,$postObj->FromUserName,$postObj->ToUserName,time(),"news","跟老李一起来做微信开发","微信开发即微信公众平台开发,将企业信息、服务、活动等内容通过微信网页的方式进行表现,用户通过简单的设置,就能生成微信3G网站。通过微信公众平台将企业品牌展示给微信用户,减少宣传成本,建立企业与消费者、客户的一对一互动和沟通,将消费者接入企业CRM系统,进行促销、推广、宣传、售后等。形成了一种主流的线上线下微信互动营销方式。","
return $result;
}
//处理接收的文本信息并且回复给用户为多图文信息
private function receiveNews($postObj){
$con = array(
array("Title"=>"观前街","Description"=>"hjhhj","PicUrl"=>" array("Title"=>"平江路","Description"=>"mkbkbjj","PicUrl"=>"-08-26/a91f9c47f7bd8616348f0a3560724a45.jpg","Url"=>"-08-26/a91f9c47f7bd8616348f0a3560724a45.jpg"),
array("Title"=>"观前街","Description"=>"hjhhj","PicUrl"=>"","Url"=>""),
array("Title"=>"平江路","Description"=>"mkbkbjj","PicUrl"=>"-3/201033173945493.jpg","Url"=>"-3/201033173945493.jpg"),
array("Title"=>"观前街","Description"=>"hjhhj","PicUrl"=>"","Url"=>""),
array("Title"=>"平江路","Description"=>"mkbkbjj","PicUrl"=>",3656700920&fm=214&gp=0.jpg","Url"=>",3656700920&fm=214&gp=0.jpg"),
array("Title"=>"观前街","Description"=>"hjhhj","PicUrl"=>"","Url"=>""),
array("Title"=>"平江路","Description"=>"mkbkbjj","PicUrl"=>"-16052Q54439-50.jpg","Url"=>"-16052Q54439-50.jpg")
);

$bodys="<item>
<Title><![CDATA[%s]]></Title>
<Description><![CDATA[%s]]></Description>
<PicUrl><![CDATA[%s]]></PicUrl>
<Url><![CDATA[%s]]></Url>
</item>";

$tpl2 ="";
foreach($con as $key=>$newArray) {
$tpl2 .= sprintf($bodys,$newArray["Title"],$newArray["Description"],$newArray["PicUrl"],$newArray["Url"]);
}
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$tpl1="<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<ArticleCount>%s</ArticleCount>
<Articles>";
$tpl3="</Articles>
</xml>";


$tpl1=sprintf($tpl1,$fromUsername,$toUsername,time(),"news",count($con));
$result = $tpl1.$tpl2.$tpl3;
return $result;
}
}

公众号php框架 想学习微信公众平台开发需要学习那些知识呢?PHP JAVA or HTML?

想学习微信公众平台开发需要学习那些知识呢?PHP JAVA or HTML?

微信作为现代人必备的一款的聊天软件变得越来越火爆,尤其是微信公众账号更成了人们获取资讯的重要渠道,然后对于我们开发人员来说,制作和搭建一个微信公众平台成为一个网站开发人员比较时尚的新技术,然而对于有开发经验的开发者来说,微信公众开发只不过需要三个主要技术:h5移动端网站页面、微信公众账号平台提供的开发者API、网站后台语言数据库。

1、h5移动端网站页面

H5+css3是做移动端页面的主要技术,普通的html和css只适合做PC端网站,而在移动端需要的是兼容不同设备的不同分辨率,所以还需要结合一些前端框架如bootstrap、jQuery mobile等技术来实现,要做好移动端页面的就是主要学习这些东西,当然也有很多移动端页面框架可以直接上手去使用,那些我就不说了。

2、微信公众账号平台提供的开发者API 我爱编程网

微信公众平台为开发者提供了很多的API接口,如获取微信用户的账号信息等等,这些都是需要借助官方的接口来实现的,比如我们网站的空间的页面如何在微信中显示等。也是需要借助开发文档按其要求来做。

3、网站后台语言数据库网站后台语言建议还是使用php,因为php开发起来比较简单,同时还可以的借助php的一些框架进行快速的开发,所以推荐使用php进行后台的开发,相对于Java等语言要简单的多。

总之,微信公众平台的开发是比较简单的,只要你具备普通网站的开发经验和一些移动网站页面的设计,你就能胜任微信公众平台的开发。

以上就是我爱编程网小编为大家带来的公众号php框架 想学习微信公众平台开发需要学习那些知识呢?PHP JAVA or HTML?,希望对大家有帮助,了解更多相关资讯请关注我爱编程网。
与“公众号php框架 想学习微信公众平台开发需要学习那些知识呢?PHP JAVA or HTML?”相关推荐
微信公众号框架php 想学习微信公众平台开发需要学习那些知识呢?PHP JAVA or HTML?
微信公众号框架php 想学习微信公众平台开发需要学习那些知识呢?PHP JAVA or HTML?

微信公众平台开发需要哪些工具?在微信公众平台上面开发应用,流程是首先开发程序,开发完之后将你的程序上传到你的服务器,再将你的域名解析到这台服务器上,再将程序的一些访问网址添加到微信公众号后台的菜单选项里,基本这样就是一个完整的从开发到上线的大概步骤。微信公众号的后台可以有很多种语言来开发,像一些javapythonphp.net等等,但是最多的还是用php作为后台语言的项目比较多,下

2023-09-28 04:32:33
多微信公众号php框架 想学习微信公众平台开发需要学习那些知识呢?PHP JAVA or HTML?
多微信公众号php框架 想学习微信公众平台开发需要学习那些知识呢?PHP JAVA or HTML?

微信公众平台开发需要哪些工具?在微信公众平台上面开发应用,流程是首先开发程序,开发完之后将你的程序上传到你的服务器,再将你的域名解析到这台服务器上,再将程序的一些访问网址添加到微信公众号后台的菜单选项里,基本这样就是一个完整的从开发到上线的大概步骤。微信公众号的后台可以有很多种语言来开发,像一些javapythonphp.net等等,但是最多的还是用php作为后台语言的项目比较多,下

2023-10-06 04:39:07
公众号php框架app 想学习微信公众平台开发需要学习那些知识呢?PHP JAVA or HTML?
公众号php框架app 想学习微信公众平台开发需要学习那些知识呢?PHP JAVA or HTML?

微信公众号、小程序、app的优势与劣势有哪些?如果说微信是面向普通人使用的社交工具,那么微信公众号则是面向商业实体,通过微信公众号创建自己的粉丝群,通过微信的强大导流能力为商业进行导流。在功能定位方面,微信公众号属于微信的功能之一,并不是一个独立的产品,强调的还是沟通的方式,在功能上还是以宣传为主,在其他业务方面则没有明显的支持。小程序则在功能上进行了扩展,通过小程序能够完成一

2023-09-18 02:19:40
微信公众号开发php框架 想学习微信公众平台开发需要学习那些知识呢?PHP JAVA or HTML?
微信公众号开发php框架 想学习微信公众平台开发需要学习那些知识呢?PHP JAVA or HTML?

用阿里云怎么搭建微信公众平台的php服务器微信公众号想要做推广海报功能,就必须借助第三方的微信二次开发服务商,例如自橙一派,将公众号绑定好,里面有做好的模板直接用就可以了,回复关键词以后每个粉丝拥有自己的二维码推广海报,奖励机制可以有红包或积分。微信公众号是有什么程序语言开发的需要“PHP语言程序、MySQL数据库、计算机网络通讯、及HTTP/XML/CSS/JS等基础”PHP

2023-08-30 07:21:03
微信公众号php开源框架 想学习微信公众平台开发需要学习那些知识呢?PHP JAVA or HTML?
微信公众号php开源框架 想学习微信公众平台开发需要学习那些知识呢?PHP JAVA or HTML?

微信公众号是有什么程序语言开发的需要“PHP语言程序、MySQL数据库、计算机网络通讯、及HTTP/XML/CSS/JS等基础”PHPPHP,一个嵌套的缩写名称,是英文超级文本预处理语言的缩写。PHP是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。

2023-10-05 22:40:12
php微信公众平台框架 想学习微信公众平台开发需要学习那些知识呢?PHP JAVA or HTML?
php微信公众平台框架 想学习微信公众平台开发需要学习那些知识呢?PHP JAVA or HTML?

怎么样使用php的laravel框架快速集成微信登录1.安装php_weixin_provider在项目下运行composerrequirethirdproviders/weixin,即可完成安装。安装成功后,在项目的vendor目录下应该能看到php_weixin_provider的库文件:image2.配置微信登录的参数一共有7个参数可以配置,分别是:client_i

2023-09-24 15:32:54
php微信后台框架 想学习微信公众平台开发需要学习那些知识呢?PHP JAVA or HTML?
php微信后台框架 想学习微信公众平台开发需要学习那些知识呢?PHP JAVA or HTML?

想学习微信公众平台开发需要学习那些知识呢?PHPJAVAorHTML?微信作为现代人必备的一款的聊天软件变得越来越火爆,尤其是微信公众账号更成了人们获取资讯的重要渠道,然后对于我们开发人员来说,制作和搭建一个微信公众平台成为一个网站开发人员比较时尚的新技术,然而对于有开发经验的开发者来说,微信公众开发只不过需要三个主要技术:h5移动端网站页面、微信公众账号平台提供的开发者API、网站后台语

2023-09-20 15:59:22
php开发微信框架 想学习微信公众平台开发需要学习那些知识呢?PHP JAVA or HTML?
php开发微信框架 想学习微信公众平台开发需要学习那些知识呢?PHP JAVA or HTML?

php如何进行微信公众号开发php如何进行微信公众号开发1、配置相关服务器(1)如下,把自己的服务器ip白名单配置上;(2)开始配置令牌,配置令牌时先需要把现成的代码放到自己的服务器上面,代码里面包含自己的设置的令牌号码,这样才可以配置成功。注意:下面这个代码在配置好后,即可从服务器上面删除代码或者把index.php改一个名字。url必须是完整的url,比如&l

2023-09-23 23:14:41