ThinkPHP バージョン 3.1.2 の独立グループ化機能アプリケーションを復号化_PHP チュートリアル
ThinkPHP のグループ化機能は、開発者によって広く使用されている非常に実用的な価値のある機能であり、中規模および大規模なプロジェクトで管理が困難な多すぎる MVC 層ファイルの問題を解決できます。
ThinkPHP 3.1.2 バージョンで追加された独立グループ化機能は、このような問題に対する新しい解決策を提案し、コンポーネントベースの開発モデルにより適しています。この機能を見てみましょう。
1. 概要
独立グループ化機能は元のグループ化モードの動作に影響を与えず、元のグループ化モードはディレクトリ構造を移動するだけで、アプリケーション コードを変更することなく独立グループ化モードのアップグレードを完了できます。
そして、新しい独立したグループは、独立して簡単にロード、アンロード、移動できるため、通常のグループ ファイルが異なるディレクトリに散在するという元の問題を取り除くことができます。
独立グループの URL アクセスは、元の通常のグループと同じです。構成グループのリストは、引き続き APP_GROUP_LIST パラメーターを使用して構成されます。デフォルトのグループを設定するには、DEFAULT_GROUP パラメータを使用します。例:
新しい独立したグループ化は元の通常のグループ化モードを完全に置き換えることができますが、元のグループ化プロジェクトのスムーズなアップグレードを考慮するために、この新しいバージョンでは構成パラメータが追加されています:
APP_GROUP_MODE は、グループ化モードの設定に使用されます。デフォルトは 0 で、1 に設定すると、独立したグループ化モードが有効になります。
独立グループ モードにアップグレードする必要があるかどうかは、次の内容を読んだ後、賢明な選択ができると信じています。
2. ディレクトリ構造
独立グループ化モードを有効にした後、プロジェクト ディレクトリの下に独立グループ化ディレクトリを作成する必要があります。このディレクトリは、APP_GROUP_PATH パラメータを通じてプロジェクト構成ファイルによって構成できます。何も変更を加えていないと仮定すると、Modules ディレクトリの下には、モデル、コントローラー、ビュー、構成ファイル、関数ファイルなどを含む各グループのサブディレクトリが完全に独立しています。グループの移動とアンインストールを簡単に実装できます。
標準の独立したグループのディレクトリ構造は次のとおりです (ホーム グループを例にします):
(注: 現在、独立したグループのディレクトリ構造は手動で作成する必要があります)
基本的に、エントリーファイルを持たない独立グループを除けば、他の独立プロジェクトの構造は基本的に整っていることがわかります。
元の通常のグループから独立したグループにアップグレードするには、プロジェクト構成ファイルに
次に、対応するグループに属する MVC ファイルを元のプロジェクトの Lib ディレクトリに配置し、グループの機能、設定、および言語 (存在する場合) ファイルを順番に配置し、独立したプロジェクトのディレクトリ構造に従って、対応するディレクトリに配置します。上のグループ。
3.公開ファイル
独立したグループ化を採用した後、元のプロジェクトの Lib ディレクトリは、グループ化されたパブリック クラス ライブラリ ファイルとして設計されます。複数の独立したグループがパブリックな Action クラスまたは Model クラスを呼び出す必要がある場合 (実際には、他の階層コントローラーやモデル クラスも含まれます)、これらのパブリック クラスをプロジェクトの Lib ディレクトリの下の対応するディレクトリに配置します (実際のアップグレード プロセス中、これらのパブリック クラス ライブラリ ファイルは基本的にディレクトリ構造を変更しないため、移動する必要はありません)。
グループ化されたパブリック クラス ライブラリ ファイルは手動でロードする必要はなく、すべて自動ロード メカニズムを使用します。
したがって、独立グループ化モードを使用した最終的な実際のプロジェクト ディレクトリ構造は次のようになります:
4. テンプレートファイル
独立してグループ化されたテンプレート ファイルは、プロジェクトの Tpl ディレクトリから独立したグループ ディレクトリの Tpl ディレクトリに移動されます。たとえば、元のテンプレート グループのサブディレクトリは必要ありません。
リーリー
5. クラスライブラリを呼び出します
独立したグループ化をクラス ライブラリにインポートする場合、使用方法は基本的にプロジェクト クラス ライブラリをインポートする場合と同じです。例:
共通のクラス ライブラリ設計を使用せずに他のグループ化されたクラス ライブラリを呼び出す必要がある場合は、以下を使用できます:

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









PHPロギングは、Webアプリケーションの監視とデバッグ、および重要なイベント、エラー、ランタイムの動作をキャプチャするために不可欠です。システムのパフォーマンスに関する貴重な洞察を提供し、問題の特定に役立ち、より速いトラブルシューティングをサポートします

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。
