ホームページ >バックエンド開発 >PHPチュートリアル >ThinkPHP アプリケーションモード拡張の謎_PHPチュートリアル
ThinkPHP アプリケーション モードは、コア フレームワークを変換する機会を提供し、アプリケーションがより多くの環境やさまざまなニーズに適応できるようにします。各アプリケーション モードには独自のモード定義ファイルがあり、ThinkPHP3.1 バージョンと比較して、ThinkPHP3.2 バージョンでは、Cli、Lite、Thin、AMF のアプリケーション モードがより明確に拡張されています。 PHPRPC は、REST モードで定義されていますが、その定義方法は ThinkPHP 3.2 バージョンと同様であり、必要に応じて ThinkPHP フレームワークに Cli モードが組み込まれているので、Cli モードを定義しなくても使用できます。より詳細な調整が必要な場合は、「3.1 Cl 実行モード拡張」を参照してください。 ThinkPHP は、開発環境と正式環境の間で便利なモード切り替え方法も提供します。 ThinkPHP の実行プロセスを追跡して、そのアプリケーション モード拡張の謎を分析してみましょう。
1.アプリケーションモードの使用
アプリケーション モード拡張機能を学ぶ前に、アプリケーション モードの使用方法を見てみましょう。一般に、定数 APP_MODE はエントリ ファイル内でアプリケーション モード名として定義されますが、ThinkPHP フレームワーク エントリ ファイルを分析すると、フレームワークのデフォルト モードは共通モード (common) であり、sae 環境を自動的に識別できることがわかりました。もちろん、APP_MODE 定数が定義されていないことが前提です。もちろん、ThinkPHP は CLI モードと CGI モードを自動的に識別でき、CLI 環境と CGI 環境で実行する場合、ThinkPHP フレームワークはデフォルトでこれら 2 つの環境を自動的に微妙に調整します。もちろん、これら 2 つのアプリケーション モードを自分で拡張することもできます。
れーれー2. アプリケーションモードの定義
ThinkPHP フレームワークでは、ThinkPHP フレームワーク入口クラスとフレームワーク ブート クラスを除き、基本的に他のすべての機能はアプリケーション モードを通じて変更および拡張できます。アプリケーション モードを追加したい場合は、以下にモード定義ファイルを定義するだけです。 ThinkPHPMode ディレクトリーで、一般的なパターンを分析することで学習できます。
れーれーこの一般的なアプリケーション モード コードを見た後、ThinkPHP のアプリケーション モード拡張機能が何であるかについては少し理解できましたが、ロードされたファイル リストと構成を定義すると、フレームワークのコアがどのように変更されるのかはまだわかりません。秘密は ThinkPHPK ブート クラスにあります。以下を確認してみましょう。
れーれーThinkPHP::start() のこのコードを通じて、パターン定義ファイルの意味と実装方法が完全かつシームレスに関連付けられます。
3. 簡単な動作モードを定義します
モード拡張の例がマニュアルにあります。ここで lite シンプル実行モードを分析および定義できます。まず、ThinkPHP/Mode ディレクトリに新しい lite.php ファイルを作成し、内容を次のように定義します。
れーれー
上記の構成から、コア内のコアファイルのほとんどが置き換えられていることがわかりました。もちろん、これらの置き換えが必要なプログラム関数は自分で実装する必要がありますが、コアを直接コピーすることをお勧めします。通常モードで定義されたファイルを削除し、それらを変更します。次に、ThinkPHP アプリケーション開発で次のコア クラス ライブラリ拡張ファイル App.class.php を実装します
ThinkPHP/Mode ディレクトリに Lite ディレクトリを作成し、その中に App.class.php ファイルを作成します。 プログラム ファイルの実装は次のとおりです。 リーリー
ファイルのすべての拡張ファイルが実装された後、フレームワーク エントリ ファイルで APP_MODE 定数を lite として定義できます。
私は次の公式について文句を言うためにここにいます: マニュアルのこのセクションでは、動作モードを変更するには MODE_NAME 定数を定義する必要があります。正確を期すために、ThinkPHP フレームワークのすべてのファイルで MODE_NAME を検索するしかありませんでした。 . 結果が出なかったので安心しました。これは、以前のバージョン 3.1 での動作モードの定義方法です。マニュアルは詳細が更新されています (現在使用しているマニュアルは 2014 年 2 月 14 日のバージョン 3.2.1 であることを明記してください)。
http://www.bkjia.com/PHPjc/845433.html