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的話,不保證能處理好這個包含關系。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *