この記事ではThinkPHPコントローラーの定義と基本的な操作内容を中心に、ThinkPHPコントローラーについての予備的な理解ができれば幸いです。
最も基本的なコントローラー:
リーリーコントローラーの名前はキャメルケースで名付けられ(最初の文字は大文字になります)、コントローラーファイルはApplication/Home/Controller/IndexController.class.phpにあります
IndexControllerコントローラークラスのhelloメソッドが操作メソッドです。
以下のURLアドレスにアクセスしてください。http://サーバー名/Home/Index/hello
「こんにちは」が出力されます
手術前と手術後:
リーリーACTION_SUFFIX を設定して操作メソッドの記述方法を変更します:
操作メソッドはコントローラーのメソッドであるため、システムのキーワードと競合するメソッドに遭遇した場合、操作メソッドが定義されない可能性があります。このとき、問題を解決するために操作メソッドのサフィックスを設定できます。たとえば、
'ACTION_SUFFIX' => 'Action', // 操作メソッドのサフィックス
操作メソッドの接尾辞を Action に設定すると、コントローラーの操作メソッド定義が次のように調整されます。
空のコントローラーと空の操作メソッド:
空の操作とは、システムが要求された操作メソッドを見つけられない場合に、実行する空の操作 (_empty) メソッドを見つけて、エラー ページと一部の URL を最適化できることを意味します。
上の写真に示すように、訪問時:
http://サーバー名/index.php/Home/City/beijing/
City コントローラーでは北京、上海、深センの操作メソッドが定義されていないため、システムは分析のために空の操作メソッド _empty を見つけます。 _empty メソッドのパラメーターは現在の URL 内の操作名であるため、順に出力される結果は次のようになります。 :
どうやって私を見つけたのですか?
操作をクラスにバインド: (機能: コントローラークラスのメソッドの代わりに、操作メソッドごとにクラスを定義できます)
URL アクセスを例として http://serverName/Home/Index/index とします。
元のコントローラー ファイル定義の場所は次のとおりです: Application/Home/Controller/IndexController.class.php
コントローラークラスの定義は次のとおりです:
リーリー実際に HomeControllerIndexController クラスのインデックス メソッドを呼び出していることがわかります。
設定ファイルを通じてパラメータを設定します
'ACTION_BIND_CLASS' => True、
設定後、コントローラーファイルの場所は Application/Home/Controller/Index/index.class.php
コントローラークラスの定義は次のとおりです:
リーリーここで、実際に呼び出しているのは、HomeControllerIndexindex クラスの run メソッドです。
以上がこの記事の全内容です。PHP プログラミングを学ぶ皆さんのお役に立てれば幸いです。