ホームページ  >  記事  >  php教程  >  PHP WeChat 公開開発ノート (8)

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

WBOY
WBOYオリジナル
2016-06-21 08:47:321167ブラウズ

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

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

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

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

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

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

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

VCHLY/NT0LXEUDI8/LTK0MXPOSHLOAM8YNI+CJKHORXDTB3BY7NY7NYSR9VT2X7BXE0MXPOTAUVOJRL7NYSFX9RNYRXEXQXF5MHLO7O8YNI+CJX WPSRXZ8JO0TDO0QQ1W7W7W9XQXF5LW9TCTV4TK70NDK/B7D 0MXPOQOSYLU689TZ1/BPWTK7SR21XLMK1/EHO9LYZSDVTVTVTVTMRKX7I57XY1REHORXNN U7CHOSDPVNLWRSDGTCS05ttayv2+3B/IO6Y2+NPDU3OSVNUF3AF3MRHWFI157UWOAJYWMDPVNKJRMV50ttxiwo/ E49mlux2fycmf5 llb4ysfkudpdtcrzdhjzdhioKBQVYV3ATNF2Z7XEO7O8L3A+CJXWPJXPBWCGC3JJPQ == "/Program/2014-9/2014925128233 654.png "alt =" ">



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

に基づいて対応する操作を実行できます。


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

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

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

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



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


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


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



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。