PHP微信公众开发笔记(三)
PHP微信公众开发笔记系列
日期:2014.9.2
今天主要的任务是昨天提到的那个处理缓存信息的问题,我需要保存一些消息用来做二次判断。
首先,记录一些PHP语法知识吧。
1、PHP中字符串的连接语法:
在lua中,两个字符串的连接很简单,加入有两个字符串 "aaa";"bbb"; 需要将这两个字符串连接起来,只需要用两个句点 .. 便可以了:"aaa" .. "bbb"; 这里要注意,字符串与句点直接需要有空格,没有空格会报错;
而在PHP中,连接只需要一个句点就可以了:"aaa"."bbb"; 而且不需要强制在字符串和句点之间用空格;
2、得到时间,转换为日期格式:
使用date函数,格式为:date('Y-m-d H:i:s',time());挺简单的,记录一下
公众平台开发需求完成进度。
现在回到昨天留下的那个任务:利用session缓存记录信息,实现我们构想的那个菜单:
php中关于session的使用,我不是很清楚,所以就一直度娘度娘的,折腾了一番,总算是实现了我的功能需求了,不过还是觉得有一些不足的地方,留给以后再来修正吧。
昨天提到了,我要实现的菜单,希望能记住上一条信息。即提醒用户输入查询,进入查询菜单,在用户发送过来“查询”之后,下一条信息就应该转入查询菜单了,即我需要记住用户发送过“查询”这个信息。在度娘度了好久之后,查找到了要么就用数据库,要么就用session,在PHP中用数据库还不会,然后我感觉就简单的处理一下记住信息应该不需要动用数据库,所以采用的是使用session。
使用Session来实现我们的需求:
php中关于session具体该怎么用,以后还是需要度娘来详细了解一番,现在我们这只是简单的使用。
在查阅资料的时候,有网友提到用用户的username作为唯一id,这样就使得针对每个用户存储的信息会不一致(因为我们现在是服务器发送消息,每个用户都会发送消息过来,不能影响别的用户的使用),所以代码实现如下:
session_id($postObj->fromUsername); //这个是微信服务器post过来的xml数据包中用户名字,用这个作为id
session_start(); //这个应该是开启session的意思吧?
而我这两行代码该放到哪里也不是很清楚,现在我是将这个代码放在 responseMsg函数中了,不知道是不是这样的,后面的测试是有用的。
开启了session之后,就是记录信息了:
$_SESSION['menu_type'] = $this->getUserMenu($textWord); //这里的getusermenu是我用来根据用户输入得到菜单类型的函数;记录信息用到了$_SESSION这个变量,这里是以数组形式使用??
在我们记录好了信息之后,该进行信息的判断了,使用到:
isset($_SESSION['menu_type']); //用isset来判断我们是否设置了这个值,这样就能判断用户是否选择了一个菜单了
然后在我们不需要使用的时候,则使用以下函数来销毁这个:
unset($_SESSION['menu_type'];
在代码中再做相应的调整,便可以实现我们的需求了。然后现在觉得不足的地方是,我该在哪个时候销毁保存的用户选择的菜单类型呢?假如用户选择了“查询”菜单,那么我们这边就是响应用户的查询行为了,至少在用户查询的过程中我们不应该销毁掉保存的菜单类型。我感觉合理的销毁有三种情况:用户关掉了对话框(即用户退出了和我们这个公众号的聊天框,但网上没查到怎么知道用户退出了);用户长时间内没有执行查询操作(即用户在选择了“查询”菜单的前提下,经过了一个给定的时间内没有执行相应的查询操作,这个时候自动销毁);最后就是用户自动选择退出。不销毁记录的信息,会出现这样的问题,在用户选择了“查询”菜单,然后用户退出了与公众号的聊天,下一次再进入的时候,还会保存记录的用户选择的菜单信息,感觉这样是不合理的。
抛开上面提到的问题,至少这一步我们需要的功能是实现了,有关的问题慢慢修复吧。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

CakePHP에 로그인하는 것은 매우 쉬운 작업입니다. 한 가지 기능만 사용하면 됩니다. cronjob과 같은 백그라운드 프로세스에 대해 오류, 예외, 사용자 활동, 사용자가 취한 조치를 기록할 수 있습니다. CakePHP에 데이터를 기록하는 것은 쉽습니다. log() 함수는 다음과 같습니다.

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는

CakePHP는 오픈 소스 MVC 프레임워크입니다. 이를 통해 애플리케이션 개발, 배포 및 유지 관리가 훨씬 쉬워집니다. CakePHP에는 가장 일반적인 작업의 과부하를 줄이기 위한 여러 라이브러리가 있습니다.
