PHP微信公众开发笔记(五)

PHP微信公众开发笔记系列

日期:2014.9.3

今天做了身份验证的功能,然后完善了下搜索功能。其实主要的是将整个代码结构整理了一番,应该可以说是模块化设计吧。

模块化设计我们的公众号。

因为我们之前提的功能需求中有:

1、菜单--查询功能。我考虑到后期功能的扩展,就想将这些分模块来实现:菜单模块(这样,今后我们需要添加新的菜单功能,可以直接在这个模块里操作,这样修正和维护也简单,在考虑到后期可能会分工协作的时候各开发者之间不会产生冲突);

2、数据库模块(这里就主要是负责数据库相关的工作,如添加、修改、查询等);这是针对当时提出的两个功能需求。

后来我想了想,公众号不仅仅是用来做查询工作的,因此我又有了以下的构想:

3、有的时候可能需要互动啥的,因此我就将“菜单”指令作为我们实现的菜单模块的入口,即发送“菜单”就会进入服务号的菜单模块中,然后再发送“查询”指令,就进入了具体的查询功能了。而发送“退出”则退出了菜单模块。

4、在我们退出了菜单模块后,用户发送的指令将会有一个叫做关键词捕获的模块来响应用户的操作,捕获特定的用户指令来跟用户做互动。

5、有一些操作,如解析数据库中地址信息、一些关键词回复tips等通用功能,我们应该又可以封装为一个操作模块了。

基于以上考虑和构想,现在我们的公众号代码目录结构有:

index.php 作为入口文件(这个我之前也提到过,SAE中好像必须要有这个index.php文件。。);

PSAWeChat.php 就相当于之前的那个index.php文件;

剩下的几个文件夹就是我提到的那几个模块的目录所在了。

再谈谈今天碰到的各种坑吧:

1、我用的是Sublime 编辑器写的PHP代码,没有错误提示(不知道),所以好多语法错误都只能在上传到SAE后,我通过发送消息才检查得到(当然这也说明我很马虎),经常是:要么函数名写错了,要么是函数参数名写错了,要么是语句少些了分号结尾,要么是变量前面少写了$符号。。。好多这样的错误;

2、数据库:做帐号信息认证的时候,因为这个认证在我搜索功能之前,所以就忘了首先连接到数据库。然后我在做认证的时候,因为要查找数据库中的信息,但是我没有连接到数据库,所以就一直查找错误查找错误。。。折腾了好久,这也暴露出了我不够细心的毛病;

3、require/include/require_once/include_once 这些滥用。PHP中好像是不能重复include、require文件,所以就有require_once 、include_once 这两个了。当时我对那个不能重复包含的理解是同一个文件中不能重复包含(就老是出现函数多次被包含的错误),后来才知道不是这个意思。我现在的处理方法是,tools里面的函数,我只在index.php里头include,然后模块内的函数用require_once
来操作,因为我可能模块间会互相调用函数,如果用include的话,不保证能处理好这个包含关系。

时间: 2024-09-29 06:12:34

PHP微信公众开发笔记(五)的相关文章

PHP微信公众开发笔记(一)

笔记是先写在印象笔记上的,晚上没事的时候整理整理. PHP微信公众开发笔记系列 日期:2014.9.1 今天开始正式开始做班上的微信公众平台的开发者服务了.因为是第一次做这个,对PHP也不了解,所以一边学PHP,一边整理微信的公众平台,当做是自己的练手学习好了. 在登录了微信的公众平台之后,左边功能区的最底部就是开发者中心了: 在没有开启开发者服务前,这里面啥也没有.启用这个服务后,在网站上编辑的自动回复功能便取消了,用户跟微信公众平台的交互信息便会转到开发者接入的功能.废话少说,开启开发者功能

PHP微信公众开发笔记(二)

PHP微信公众开发笔记系列 日期:2014.9.1 需求分析: 在成功的开启了微信开发者服务之后,我们便需要开始做响应用户操作的功能了.其实做微信公众平台,当初的目的我就是想做成一个服务平台,因为刚大学毕业,同学各奔东西.有的时候可能我们会到一个陌生的城市去,那时可能就会想啊,这个城市有班上的同学在么?这时掏出手机,点开服务号输入这个城市名,就会返回一串信息,假如有同学在这个城市,就会列出联系信息之类的.当然也许会说,既然是熟悉的同学,那么肯定会知道联系方式之类的,还需要这样多此一举么.而我的考

PHP微信公众开发笔记(三)

PHP微信公众开发笔记系列 日期:2014.9.2 今天主要的任务是昨天提到的那个处理缓存信息的问题,我需要保存一些消息用来做二次判断. 首先,记录一些PHP语法知识吧. 1.PHP中字符串的连接语法: 在lua中,两个字符串的连接很简单,加入有两个字符串 "aaa";"bbb"; 需要将这两个字符串连接起来,只需要用两个句点 .. 便可以了:"aaa" .. "bbb"; 这里要注意,字符串与句点直接需要有空格,没有空格会报

PHP微信公众开发笔记(六)

PHP微信公众开发笔记系列 日期:2014.9.4 今天主要是完善了搜索,加入了管理员模块,优化了身份验证,将学生信息管理封装为了一个类(整这个真是好累呀,主要是数据库操作那里语法老是出问题,一直是各种小问题) 感受: PHP开发没有断点.不能及时打印log真是好累呀(我是用sublime写的,然后直接微信公众号调试,累屎我了),错误信息经常不能及时发觉.或者说有些问题能通过断点排除掉了没能够排除.但是也说明了,我写代码还是太马虎了啊. 2014.9.10整理笔记: 写这个笔记的时候,在赶功能,

PHP微信公众开发笔记(七)

PHP微信公众开发笔记系列 日期:2014.9.6 这篇日记是补昨天的,昨天没来得及写: 主要实现的功能:模糊检索.问答系统.帮助系统 修复了:_SESSION 的id 调整了验证机制 要注意的:mysql的语法问题.mysql的模糊匹配.PHP的关联数组好像用count计算的话其大小会有原有数据的两倍大(即数组中只有两个数据,count会得到4,这个需要再验证,好像是用到了foreach就出现了这个问题) 学到了:PHP中数组的操作 2014.9.10整理笔记: 写这个笔记的时候,在赶功能,所

PHP微信公众开发笔记(八)

PHP微信公众开发笔记系列 日期:2014.9.6 今天主要要做:建立关键词数据库.超时机制.优化的关键词匹配.表情信息数据库 要注意的:PHP echo之后并没有返回?还会继续执行?? 2014.9.11整理笔记: 写这个笔记的时候,在赶功能,所以也就是简单的记几笔当时的工作内容,现在功能开发得差不多了,就来整理之前的笔记.当时就很简单的记录了上文的那几句. 这天是周六,不加班了在租的房子里歇着.因为要过中秋了,在深圳的姐这天会过来我这边过节,所以这天也没多少时间来写功能.早上早起去跑步,然后

PHP微信公众开发笔记(九)

PHP微信公众开发笔记系列 日期:2014.9.9 中秋假期除了周六那天整了整,就没怎么动过了.今天上班主要是把既定的两个开发目标完成了:"八卦"."回忆"两个模块,这两个东西也很简单,也主要是涉及到数据库的操作而已.然后以图文形式回复就可以了.所以数据库中主要是保存了:文章标题.文章跳转连接.图片链接这三个字段信息. 2014.9.11整理笔记: 写这个笔记的时候,在赶功能,所以也就是简单的记几笔当时的工作内容,现在功能开发得差不多了,就来整理之前的笔记.当时就很

PHP微信公众开发笔记(十)

PHP微信公众开发笔记系列 日期:2014.9.10 在新浪SAE上用Storage存储资源,如果选择了资源防盗链的选项,那么将设置了防盗链的图片用作公众平台图文链接的封面,将显示不出图片. 2014.9.11整理笔记: 写这个笔记的时候,在赶功能,所以也就是简单的记几笔当时的工作内容,现在功能开发得差不多了,就来整理之前的笔记.当时就很简单的记录了上文的那几句. 主要是图文链接的那个封面问题.如果我直接用微信素材库里面的图片作为连接,那么图文链接的封面图片是显示不出来的.这个问题困扰了我好久,

微信公众开发URL和token填写详解

方法/步骤 作为一名微信公众号开发者,别人进入你的微信公众号,肯定会看见某些网页,或者给你发某些信息,你需要实时自动回复,所以你需要一个24小时为用户服务的服务器.我们所要填写的url就是你提供的服务器的地址,前提是这个服务器的地址你要能够访问,且能够控制.而token是用来验证的.   然后你需要一个服务器,服务器可以自己购买,也能用新浪sae,百度bae.方法是进入其开发者中心,注册一个开发者账号.并进行实名认证!(没有进行实名认证的小伙伴们是无法成功的).下面我们使用新浪sae做为例子来进