ホームページ >バックエンド開発 >PHPチュートリアル >ThinkPHP コントローラー モジュールと操作_PHP チュートリアル

ThinkPHP コントローラー モジュールと操作_PHP チュートリアル

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

ThinkPHP はモジュールとオペレーションの形式で実行されます。まず、ユーザーのリクエストにより、アプリケーション コントローラー (コア コントローラーと呼びます) がユーザーの実行プロセス全体を管理します。モジュールの操作のスケジュールと実行、そして最後にアプリケーション インスタンスの破棄。あらゆる WEB 動作はモジュールの操作と見なされ、システムは現在の URL に基づいて実行されるモジュールと操作を分析します。この分析作業は URL スケジューラによって実装され、公式の組み込み Dispatcher クラスがスケジューリングを完了します。 Dispatcher スケジューラでは、

に基づきます

http://サーバー名/アプリ名/モジュール名/アクション名/params

現在実行する必要があるプロジェクト (appName)、モジュール (moduleName)、および操作 (actionName) を取得するには、appName が必要ない場合があります (通常は、プロジェクト名を Web サイトのホームページで指定できます)。この場合、appName はエントリ ファイルに置き換えられます)。より複雑な状況では、グループ化 (groupName) も表示される場合があります。

各モジュールは、通常コントローラーと呼ばれるものに似たアクション ファイルであり、システムはプロジェクト クラス ライブラリのアクション ディレクトリで関連するクラスを自動的に検索します。見つからない場合は、例外が発生します。投げられる。

actionName 操作は、最初に Action クラスのパブリック メソッドがあるかどうかを判断し、存在しない場合は引き続き親クラス内のメソッドを探します。自動的に一致するテンプレート ファイルがあります。テンプレート ファイルが存在する場合は、テンプレート出力が直接レンダリングされます。

したがって、アプリケーション開発における重要なプロセスは、さまざまなモジュールの特定の操作を定義することです。アプリケーションがデータベースと対話する必要がない場合、モデル クラスを定義する必要はありませんが、アクション コントローラーを定義する必要があります。 Action コントローラーの定義は非常に単純で、Action 基本クラスを継承するだけです。例:

PHP コードを折りたたんで展開し、内容をクリップボードにコピーします
  1. クラス UserAction は Action{
  2. を拡張します
  3. }

以下のURLを実行したい場合

http://サーバー名/index.php/User/add

たとえば add メソッドを追加するだけです

PHP コードを折りたたんで展開し、内容をクリップボードにコピーします
  1. クラス UserAction は Action{
  2. を拡張します
  3. // add 操作メソッドを定義します。この操作メソッドにはパラメータが必要ないことに注意してください。
  4. パブリック関数 add(){
  5. // add オペレーションメソッドの論理実装
  6. // ……
  7. $this->display(); // テンプレートページを出力します
  8. }
  9. }

操作メソッドはパブリック型として定義する必要があります。そうでない場合はエラーが報告されます。また、操作メソッドの名称は組み込みのActionクラスのメソッドと重複しないように注意してください。システムは現在の操作のテンプレート ファイルを自動的に見つけます。デフォルトのテンプレート ファイルはプロジェクト ディレクトリの TpldefaultUseradd.html にある必要があります。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/735135.html技術記事 ThinkPHP はモジュールとオペレーションを使用して実行します。まず、ユーザーのリクエストによりエントリー ファイルを通じてアプリケーション インスタンスが生成され、アプリケーション コントローラー (コア コントローラーと呼びます) が管理します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。