PHP WeChat 公開開発ノート (5)
PHP WeChat 公開開発ノート シリーズ
日付: 2014.9.3
今日は本人確認機能を実装し、その後検索機能を改善しました。実際、重要なことはコード全体の構造を整理することであり、これはモジュール設計と言えます。
公式アカウントのモジュール設計。
なぜなら、先ほど述べた機能要件には次のようなものがあるからです。
1. メニュー -- クエリ機能。後段の機能拡張を考慮して、次のサブモジュールを実装したいと考えています。 メニューモジュール (これにより、将来的に新しいメニュー機能を追加する必要がある場合、このモジュール内で直接操作できるため、修正が必要になります)後の段階を考慮すると、開発者が共同で作業する場合、競合が発生しない可能性があります。)
2. データベース モジュール (ここでは、追加、変更、クエリなどのデータベース関連の作業を主に担当します)。これは、その時点で提案された 2 つの機能要件に対応します。
後から考えてみると、公式アカウントはクエリ業務だけではないので、以下のようなアイデアを思いつきました。
3. 場合によっては対話が必要になる場合があるため、実装したメニュー モジュールへの入り口として「menu」コマンドを使用します。つまり、「menu」を送信すると、サービス アカウントのメニュー モジュールに入り、「クエリ」が送信されます。 " コマンド。 、特定のクエリ関数を入力します。 「Exit」を送信すると、メニューモジュールが終了します。
4. メニュー モジュールを終了すると、ユーザーによって送信された指示には、ユーザーの操作に応答し、ユーザーと対話するための特定のユーザー指示をキャプチャするキーワード キャプチャと呼ばれるモジュールが含まれます。
5. データベース内のアドレス情報の解析、いくつかのキーワード応答ヒント、その他の一般的な機能など、いくつかの操作があり、それらを操作モジュールにカプセル化できるはずです。
上記の考慮事項とアイデアに基づいて、パブリック アカウント コードのディレクトリ構造は次のようになりました。
PHP コードにはエラー メッセージがありません (わかりません)。そのため、多くの構文エラーは SAE にアップロードした後にメッセージを送信することによってのみチェックできます (もちろん、これは私が不注意であることを示しています)。多くの場合: または関数名関数のパラメータ名の書き方が間違っているか、ステートメントの末尾にセミコロンがないか、変数の前の $ 記号がありません。 。 。このような間違いはたくさんあります。
2. データベース: アカウント情報の認証を行う際、この認証が検索機能の前にあったため、最初にデータベースに接続するのを忘れてしまいました。その後、認証を行うときにデータベース内の情報を探していましたが、データベースに接続されていなかったため、エラーを探し続けました。 。 。長い間苦労した後、これは私の注意力の欠如も露呈しました。
3. require/include/require_once/include_once の悪用。 PHP では include ファイルと require ファイルを繰り返すことができないようで、require_once と include_once があります。当時、私は非反復インクルードについて、同じファイルを再度インクルードすることはできない (関数が複数回インクルードされるというエラーが常に発生する) と理解していましたが、後でこれが意味するものではないことに気づきました。私の現在のアプローチは、index.php にのみツールの関数を含め、モジュール内の関数には require_once を使用することです。
include を使用した場合、モジュール間で関数を呼び出す場合があるため、この包含関係がうまく扱える保証はありません。
http://www.bkjia.com/PHPjc/879189.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/879189.html技術記事 PHP WeChat パブリック開発ノート (5) PHP WeChat パブリック開発ノート シリーズ 日付: 2014.9.3 本日、本人認証機能を実装し、その後、検索機能を改善しました。実際、重要なことは世代全体を変換することです...