WeChat 開発学習日記 (8): Weiphp プラグインのメカニズムを理解するための 7 つのステップ 主な目標は、WeChat リクエストに応答することです
数時間の整理と検討を経て、今のところ、ようやく理解できました。 Weiphp フレームワークの仕組みが少し理解できました。当然のことながら、完全に理解するにはかなりの時間がかかります。
ステップ 1:
WeChat 公開アカウントを構成します (http://weiphp.jiutianniao)。 / ... .html
上記の構成からわかるように、Weiphp のエントリ ファイルindex.php に対する WeChat のリクエストが受信され、/home/weixin によって受信される可能性があります。 /index/このアクションが応答します。
ステップ 2:
Index.php エントリ ファイル、それが WeChat リクエストであるかどうかを確認します。
/**
* WeChat アクセス検証
* 主に検証 URL タイムアウトの問題を解決するため、フレームワークに入れるのではなく入り口で検証
*/
if (! empty ( $_GET ['echostr'] ) && ! empty ( $_GET ["signature"] ) && ! empty ( $_GET ["nonce"] )) {
}
ステップ 3:
エントリは検証済み、つまり「初めて」ではないため、リクエストはホーム モジュールの WeixinController のインデックス メソッドに分配されます。
ステップ 4:
インデックス方式では、最初にトークン、openid、ファン、その他の情報を取得します。
最も重要なプロセスは、データに返信することです。
// データを返信
$this->reply ( $data, $weixin );
第 5 ステップ:
返信機能では、メッセージに応答する適切なプラグインを見つけます。
関連する問題には、どのプラグインがインストールされているか、どのプラグインが有効になっているか、どのプラグインに権限があるかなどが含まれます。
使用可能なプラグインを準備したら、メッセージ タイプ、イベント、地理的位置、サブスクリプションに基づいて適切なプラグインを見つけます。たとえば、次のような場合です。位置イベントがあると、対応するコールバック メソッドが実行されます。
その他の場合はニュース。
キーワードに基づいてメッセージに返信します。
この時、問題となるのはプラグインの配置問題になります。
a. プラグイン識別名、プラグイン名、またはカスタム キーワードを使用して、処理されたプラグインを見つけます
b. 処理されたプラグインを見つけます。 - 正確なキーワードによるプラグイン トークン = 0 は、プラグインのインストール時に初期化されるあいまいなキーワードです。すべてのパブリック アカウントは、
を使用します。 c. あいまいなキーワードを使用して、処理されたプラグインを見つけます。
d .最終的に、プラグインを見つけることができず、操作は終了しました
質問: コードを通じて、位置などのイベント多くのプラグインがこのイベントを処理します。メッセージの場合、プラグインは 1 つだけ見つかります。これは事実でしょうか?
ステップ 6:
weixinmodel をプラグインします。
/**
* 投票モデル
*/
class WeixinAddonModel extends WeixinModel {
function Reply($dataArr, $ keywordArr = array()) {
}
WeChat プラグインには基本的に WeixinModel クラスがあり、必要に応じて WeChat リクエストに応答します。
ステップ 7:
URL 応答の問題。
いわゆるプラグインの仕組みが、ユーザーが送信したキーワードに応じてさまざまな種類のプラグインが応答するというものである場合、これには常に疑問がありました。 「金の含有量」が不足しすぎます。これが WeChat の核となるゲームプレイですか?
class VoteController extends AddonsController {
}
各プラグインには、以下に応答するコントローラーがある場合があります。 URL で尋ねます。たとえば、バックエンド管理とフロントエンド管理 (WeChat と直接対話しない) には、いくつかの管理メソッド、設定情報などが含まれます。
さらに、weixinModel の返信メソッドの一部には、プラグイン内で定義された URL が含まれる場合があり、これは非常に貴重だと感じます。
要約: Weiphp、WeChat フレームワークは 4 つのポイントに簡単に要約できます。
1.weipp は Thinkphp と Onethink に基づいています。問題は、Weiphp が Thinkphp と Onethink のコア コードに何らかの変更を加えたかどうかです。変更がある場合、そのほとんどは Onethink への変更です。
2. Weiphp の中心的な入り口は、WeChat リクエストを検証して応答する、index.php メソッドと /home/weixin/index メソッドです。
3. プラグインの仕組みは、キーワードに基づいてプラグインを見つけて、プラグインがリクエストに応答するようにする感じです。
4. バックエンド管理システム、ユーザー側のフロントエンド管理、およびプラグイン メカニズムはすべて、「WeChat リクエストに応答する」という WeChat フレームワークの中心的な目的のためのものです。
これが最も重要なポイントです。
武漢九天娘-武漢の大手モバイルインターネットシステム開発者
九天娘 Q&A-http://ask.jiutianniao.com
Jiutianniao ブログ - http://blog.jiutianniao.com
Jiutianniao 公式ウェブサイト - 準備中です、しばらくお待ちください
2015 年 4 月 17 日