TP フレームワークのマルチレイヤー MVC 使用状況分析
この記事では主に thinkphp 多層 MVC の使用法を紹介し、thinkPHP での多層 MVC の具体的な原理と関連する使用スキルを例とともに分析します。必要な友人は参考にしてください。お役に立てれば幸いです。
詳細は次のとおりです:
ThinkPHP はマルチレイヤー設計をサポートしています。
1. モデルレイヤーモデル
たとえば、プロジェクト設計で、データレイヤー、ロジックレイヤー、サービス層などの場合は、モジュール「モデル、ロジック、およびサービスのディレクトリを作成」ディレクトリの下に追加し、ユーザー テーブル上のすべてのモデル操作を 3 つの層に分割できます。
1.Model/UserModelは、データ関連の自動検証、自動完了、およびデータアクセスインターフェイスの定義に使用されます
2.Logic/UserLogicalは、ユーザー関連のビジネスロジックの定義に使用されます
3.Service/UserServiceは、定義に使用されますユーザー 関連するサービス インターフェイス
これら 3 つのモデルはすべて、Model クラスを継承します。たとえば、データ層 Home/Model/UserModel.class.php
namespace Home\Model; use Think\Model; class UserModel extends Model{}
論理層 Home/Logic/UserLogical.class.php。
namespace Home\Logic; use Think\Model; class UserLogic extends Model{}
サービス層 Home/Service/UserService.class.php
namespace Home\Service; use Think\Model; class UserService extends Model{}
呼び出すときは、組み込みの D メソッドまたは M メソッドを使用して
D('User') //实例化UserModel D('User','Logic') //实例化UserLogic D('User','Service') //实例化UserService
デフォルトのモデル層 Model の下のデータ アクセス インターフェイス クラスを呼び出す場合、2 番目のパラメーターのモデル ファイル名はありません。 デフォルトのモデル層は、次のように設定を変更することもできます:
'DEFAULT_M_LAYER' => 'Logic' , // デフォルトのモデル層名を Logic に変更します
この場合、インスタンス化メソッドもそれに応じて変更する必要があります
D('User') //实例化UserLogic D('User','Model') //实例化UserModel D('User','Service') //实例化UserService
D('User') を使用すると、デフォルトでインスタンスに移動します。UserLogice クラスに変換されるため、非常に柔軟です。データを検証する場合、自動補完は js で行われ、データの取得はサービス インターフェイスから行われます。レイヤー、その他のレイヤーは必要ありません。
2. ビュー レイヤー ビュー
ビュー レイヤーはテンプレートとテンプレート エンジンで構成されており、テンプレート内で php コードを直接使用できます。 (テンプレート テーマ) ) 区別するには、たとえば:
View/default/User/add.html View/blue/User/add.html
複雑なマルチレイヤー ビューは、次のような異なるビュー ディレクトリを使用して区別することもできます。たとえば:
通常のビュー レイヤー ディレクトリ
モバイル モバイル端末アクセス ビュー レイヤー ディレクトリ
この中でちなみに、異なるテンプレートは異なるページ スタイルを使用でき、次のようにビュー ディレクトリをデフォルトにすることもできます:
'DEFAULT_V_LAYER' => 'Mobile', // 默认的视图层名称更改为Mobile
3. コントローラー層Controller
ThinkPHP コントローラーには 2 つのカテゴリがあり、1 つはコア コントローラー、もう 1 つはビジネスですコントローラー、コア コントロール サーバーは、thinkphpThinkPHPLibraryThinkControllerHproseController.class.php などの ThinkPHP ディレクトリにあり、HTTP リクエストのインターセプト、転送、設定の読み込みなど、アプリケーションのスケジュール制御を担当します。ここで説明するのは、ユーザー定義のコントローラー クラスによって完成されるビジネス コントローラーです。マルチレイヤー ビジネス コントローラーの実装原理は、ビジネス コントローラーやイベント コントローラーなどのモデルの階層化と同様です。
Controller/UserController //用于用户的业务逻辑控制和调度 Event/UserEvent //用于用户的事件响应操作
namespace Home\Controller; use Think\Controller; class UserController extends Controller{ }
namespace Home\Event; use Think\Controller; class UserEvent extends Controller{ }
'DEFAULT_C_LAYER' => 'Event', // 默认的控制器层名称改为Event
多層コントローラーは必須ではなく、アプリケーションのニーズに応じて自由に階層化できます。必要に応じてコントローラーで使用したり、さまざまな階層ビューを表示してさまざまなテーマを実装したりできます。
関連推奨事項:
以上がTP フレームワークのマルチレイヤー MVC 使用状況分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











JSP コメントの分類と使用状況の分析 JSP コメントは 2 つのタイプに分類されます。 単一行コメント: で終わる、単一行のコードのみコメントできます。複数行のコメント: /* で始まり */ で終わると、複数行のコードにコメントを付けることができます。単一行のコメントの例 複数行のコメントの例/**これは複数行のコメントです*コードの複数行にコメントできます*/JSP コメントの使用法 JSP コードを読みやすくするために JSP コメントを使用できます。

WPS は一般的に使用されるオフィス ソフトウェア スイートであり、WPS テーブル関数はデータ処理と計算に広く使用されています。 WPS テーブルには、2 つの日付間の時差を計算するために使用される、DATEDIF 関数という非常に便利な関数があります。 DATEDIF 関数は英語の DateDifference の略語で、構文は次のとおりです: DATEDIF(start_date,end_date,unit) ここで、start_date は開始日を表します。

C 言語で exit 関数を使用する方法には、具体的なコード例が必要です。C 言語では、プログラムの実行をプログラムの初期段階で終了したり、特定の条件下でプログラムを終了したりする必要があることがよくあります。 C 言語には、この関数を実装するための exit() 関数が用意されています。この記事では、exit() 関数の使用法を紹介し、対応するコード例を示します。 exit() 関数は C 言語の標準ライブラリ関数であり、ヘッダー ファイルに含まれています。その機能はプログラムの実行を終了することであり、整数を取ることができます。

MySQL の ISNULL() 関数は、指定された式またはカラムが NULL かどうかを判断するために使用される関数です。ブール値、式が NULL の場合は 1、それ以外の場合は 0 を返します。 ISNULL()関数は、SELECT文やWHERE句の条件判定に使用できます。 1. ISNULL() 関数の基本構文: ISNULL(expression) ここで、expression は、NULL かどうかを判断する式です。

タイトル: DreamWeaver CMS のセカンダリディレクトリを開けない原因と解決策の分析 Dreamweaver CMS (DedeCMS) は、さまざまな Web サイトの構築に広く使用されている強力なオープンソースのコンテンツ管理システムです。ただし、Web サイトの構築中に、セカンダリ ディレクトリを開けない状況が発生し、Web サイトの通常の動作に問題が発生することがあります。この記事では、セカンダリ ディレクトリを開けない考えられる理由を分析し、この問題を解決するための具体的なコード例を示します。 1. 考えられる原因分析: 疑似静的ルール構成の問題: 使用中

SQL での個別の使用法の詳細な説明 SQL データベースでは、重複データを削除する必要がある状況によく遭遇します。現時点では、distinct キーワードを使用すると、重複データを削除し、クエリ結果をより明確かつ正確にすることができます。 Different の基本的な使用法は非常に簡単で、select ステートメントで Distinct キーワードを使用するだけです。たとえば、次は通常の選択ステートメントです: SELECTcolumn_name

CSS での Transform の使用 CSS の Transform プロパティは、HTML 要素の移動、回転、拡大縮小、傾斜などの操作を実行できる非常に強力なツールです。要素の外観を劇的に変更し、Web ページをよりクリエイティブでダイナミックにすることができます。この記事では、Transform のさまざまな使用方法を詳しく紹介し、具体的なコード例を示します。 1. 移動 (Translate) 移動とは、要素を x 軸および y 軸に沿って指定された距離だけ移動することを指します。その構文は次のとおりです。

Apple ショートカット コマンドの使用方法 技術の継続的な発展により、携帯電話は人々の生活に欠かせないものになりました。数ある携帯電話ブランドの中でも、Appleの携帯電話は安定したシステムと強力な機能で常にユーザーに愛されています。その中で、Apple ショートカット コマンド機能は、ユーザーの携帯電話体験をより便利かつ効率的にします。 Apple ショートカットは、Apple が iOS12 以降のバージョン向けに開始した機能で、ユーザーがカスタム コマンドを作成して実行することで携帯電話の操作を簡素化し、より効率的な作業や作業を実現するのに役立ちます。
