ホームページ >バックエンド開発 >PHPチュートリアル >PHP WeChat 公開開発ノート (8)_PHP チュートリアル

PHP WeChat 公開開発ノート (8)_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:19:021090ブラウズ

PHP WeChat 公開開発ノート (8)

PHP WeChat 公開開発ノート シリーズ
日付: 2014.9.6

今日行う主な作業は、キーワード データベース、タイムアウト メカニズム、最適化されたキーワード マッチング、表現情報データベースの確立です

注: PHP は echo 後に戻りませんか?今後も実装されていくのでしょうか? ?

2014.9.11 メモの整理:
このメモを書いているとき、私はある機能に取り組んでいたので、そのときの作業についていくつかメモしただけです。機能がほぼ開発されたので、以前のメモを整理します。その時は上記の文章をただ記録しただけです。

今日は土曜日なので残業もないので借家で休んでいます。もうすぐ中秋節なので、深センにいる妹が祭りを祝うために私の家に来る予定なので、今日は関数を書く時間があまりありません。朝早く起きてランニングをし、帰ってきたらまた仕事を頑張ります(今考えると将来ワーカホリックになるかもしれません)。今回行った作業は、データベースにキーワードデータテーブルと表現情報データテーブルを作成し、タイムアウト機構を追加し、キーワードマッチングを最適化することでした。

1.キーワードデータテーブル
このデータ テーブルに保存されている情報は主に、以前にキーワード フィルタリングとキャプチャを行ったときに使用したいくつかのキーワードです。管理を容易にしたいので、これらをデータベースに保存し、この情報を取得する関数を作成して、照合を行うことを考えます。この方法では、コードにすべての情報を記述する必要がなくなります。もっと柔軟になること。このアイデアを思いついた後、このデータテーブルを整理し始めました。
データベースの操作については特に言及することはありません。ここでは主にコード内の操作を記録します。 1. まず、すべてのキーワードを取得します:
これは非常に簡単で、データベース内のキーワード データ テーブルのデータ全体を取得するだけです:
select * from xxx データテーブル xxx の情報を選択します;

次に、取得した情報を 2 次元配列に保存します。

vcHLy/nT0LXEudi8/LTK0MXPosHLoaM8YnI+CjKhor w7W9xqXF5LW9tcTV4tK70NDK/b7d0MXPoqOsyLu689TZ1/bPwtK7sr21xLmk1/eho9Lyzqr V4sDvtcS52Lz8tMrK x72r1u7I57XY1rehorXnu7ChosDPvNLWrsDgtcS05tTayv2+3b/io6 y2+NPDu6e3osvNuf3AtLXEv8nE3MrHWFi157uwoaJYWMDPvNKjrMv50tTU2tXiwO/F0LbPsrvK o8L3A+CjxwPjxpb Wcgc3JjPQ=="http://www.2cto.com/uploadfile/Collfiles/20140912/2014091209032020。 png" alt="">PHP WeChat 公開開発ノート (8)_PHP チュートリアル


具体的なコードは上の図のとおりです。これにより、データ テーブル内のこのキーワードのデータ行を取得し、そのタイプに応じて次のステップを実行します (データ テーブルには、キーワードとキーワードの 2 つのフィールドが含まれています)キーワード タイプ) 、これら 2 つの情報を使用して、キーワード タイプ) に基づいて対応する操作を実行できます:


後続の操作は、ここで構造を整理した前のコードを直接使用することです。前述の最適化されたキーワード

2. 式データベース
メッセージに返信するときに絵文字を使用して返信することができます。ここでは絵文字表現を使用していませんが、たとえば、「笑顔」は「/::)」で表されます。キーワード、値として「/::)」を入力し、これら 3 つのフィールドの合計である式のタイプを追加します。利用する際は、笑顔を直接入力し、その値を取得して返信するだけで利用できます。関係するのはデータベース操作だけなので、ここでは詳しく説明しません。

3. タイムアウトメカニズム
パブリック アカウントは $_SESSION を使用して、ユーザー ID の検証や選択されたメニュー タイプなどの情報を保存するためです。たとえば、ユーザーがメニューを選択し、長期間使用しない場合は、次回使用するときはそのメニューにいないで終了するのが最善であると感じます。 。このようなことを念頭に置いて、すべての $_SESSION を定期的にクリアするか、単一の $_SESSION を定期的にクリアするか、インターネット上の関連情報を確認しました。定期的に行うには、時間を知る必要があります。これまでのモバイル ゲーム プロジェクトで使用したことと組み合わせると、定期的に行う場合は、電源を入れた時間を覚えてから判断するだけで済みます。使うたびに。

実装に関しては、まず、ユーザーの身元を確認する時間など、特定の $_SESSION が保存された時間を記録します。


上の図に示されている psa_time() は、システムによって提供される time() 関数の単なるラッパーです。このようにして、本人確認の時間を取得し、ユーザーが操作するたびに現在時刻を取得して、記録された時刻と比較します。


これは、私がタイムアウト メカニズムと呼ぶものを実装します。


PHP学習記録:
エコー後も関数は実行されますか?以前は、メッセージへの返信が統一管理されていなかったので、おそらくいくつかのモジュールに直接返信していました。しかし、echo を使用してメッセージに応答したとしても、echo の後のコード部分は依然として実行されることがわかりました。何が起こっているのかわかりません。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/879185.html技術記事 PHP WeChat パブリック開発ノート (8) PHP WeChat パブリック開発ノート シリーズ 日付: 2014.9.6 今日の主なタスクは次のとおりです: キーワード データベースの確立、タイムアウト メカニズム、最適化されたキーワード マッチング、絵文字メッセージ...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。