ホームページ バックエンド開発 PHPチュートリアル ThinkPHP バージョン 3.1.2 の独立グループ化機能アプリケーションを復号化_PHP チュートリアル

ThinkPHP バージョン 3.1.2 の独立グループ化機能アプリケーションを復号化_PHP チュートリアル

Jul 13, 2016 am 10:24 AM

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 ディレクトリに移動されます。たとえば、元のテンプレート グループのサブディレクトリは必要ありません。

リーリー
独立グループの下の Tpl ディレクトリに移動すると、次のようになります:


リーリー
テンプレートテーマ機能は引き続きサポートされます。

5. クラスライブラリを呼び出します

独立したグループ化をクラス ライブラリにインポートする場合、使用方法は基本的にプロジェクト クラス ライブラリをインポートする場合と同じです。例:


リーリー
独立したグループは、複数のグループ間の相互作用や呼び出しを考慮せず、パブリック クラス ライブラリのみを呼び出すことができます。

共通のクラス ライブラリ設計を使用せずに他のグループ化されたクラス ライブラリを呼び出す必要がある場合は、以下を使用できます:

リーリー
ただし、独立したグループ化を採用した後、メソッド A、メソッド R、およびメソッド D はグループ間の呼び出しをサポートしなくなります。

http://www.bkjia.com/PHPjc/825443.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/825443.html技術記事 ThinkPHP のグループ化機能は、開発者によって広く使用されている非常に実用的な価値のある機能です。この機能は、管理が難しい中規模および大規模なプロジェクトで多すぎる MVC 階層ファイルの問題を解決します。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PHPロギング:PHPログ分析のベストプラクティス PHPロギング:PHPログ分析のベストプラクティス Mar 10, 2025 pm 02:32 PM

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

Laravelでフラッシュセッションデータを使用します Laravelでフラッシュセッションデータを使用します Mar 12, 2025 pm 05:08 PM

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

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

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

Laravelテストでの簡略化されたHTTP応答のモッキング Laravelテストでの簡略化されたHTTP応答のモッキング Mar 12, 2025 pm 05:09 PM

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

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

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

PHPにおける後期静的結合の概念を説明します。 PHPにおける後期静的結合の概念を説明します。 Mar 21, 2025 pm 01:33 PM

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

フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 Mar 28, 2025 pm 05:12 PM

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

See all articles