PHP微信公眾開發筆記(五)
來源:互聯網
上載者:User
PHP微信公眾開發筆記系列日期:2014.9.3
今天做了身分識別驗證的功能,然後完善了下搜尋功能。其實主要的是將整個代碼結構整理了一番,應該可以說是模組化設計吧。
模組化設計我們的公眾號。因為我們之前提的功能需求中有:1、菜單--查詢功能。我考慮到後期功能的擴充,就想將這些分模組來實現:菜單模組(這樣,今後我們需要添加新的菜單功能,可以直接在這個模組裡操作,這樣修正和維護也簡單,在考慮到後期可能會分工協作的時候各開發人員之間不會產生衝突);2、資料庫模組(這裡就主要是負責資料庫相關的工作,如添加、修改、查詢等);這是針對當時提出的兩個功能需求。後來我想了想,公眾號不僅僅是用來做查詢工作的,因此我又有了以下的構想:3、有的時候可能需要互動啥的,因此我就將“菜單”指令作為我們實現的菜單模組的入口,即發送“菜單”就會進入服務號的菜單模組中,然後再發送“查詢”指令,就進入了具體的查詢功能了。而發送“退出”則退出了菜單模組。4、在我們退出了菜單模組後,使用者發送的指令將會有一個叫做關鍵詞捕獲的模組來響應使用者的操作,捕獲特定的使用者指令來跟使用者做互動。
5、有一些操作,如解析資料庫中地址資訊、一些關鍵詞回複tips等通用功能,我們應該又可以封裝為一個操作模組了。
基於以上考慮和構想,現在我們的公眾號代碼目錄結構有:PHP代碼,沒有錯誤提示(不知道),所以好多語法錯誤都只能在上傳到SAE後,我通過發送訊息才檢查得到(當然這也說明我很馬虎),經常是:要麼函數名寫錯了,要麼是函數參數名寫錯了,要麼是語句少些了分號結尾,要麼是變數前面少寫了$符號。。。好多這樣的錯誤;2、資料庫:做帳號資訊認證的時候,因為這個認證在我搜尋功能之前,所以就忘了首先串連到資料庫。然後我在做認證的時候,因為要尋找資料庫中的資訊,但是我沒有串連到資料庫,所以就一直尋找錯誤尋找錯誤。。。折騰了好久,這也暴露出了我不夠細心的毛病;3、require/include/require_once/include_once 這些濫用。PHP中好像是不能重複include、require檔案,所以就有require_once 、include_once 這兩個了。當時我對那個不能重複包含的理解是同一個檔案中不能重複包含(就老是出現函數多次被包含的錯誤),後來才知道不是這個意思。我現在的處理方法是,tools裡面的函數,我只在index.php裡頭include,然後模組內的函數用require_once 來操作,因為我可能模組間會互相調用函數,如果用include的話,不保證能處理好這個內含項目關聯性。