この記事では、ThinkPHP プロジェクト グループの構成方法を例とともに説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
プロジェクトのグループ化の概要
プロジェクトのグループ化は、ThinkPHP の重要なメカニズムです。プロジェクトのグループ化機能は、複数の以前のプロジェクトを 1 つのプロジェクトにマージできます。ただし、各グループは独自の独立した設定ファイル、パブリック ファイル、および言語パックを持つことができます。
通常の Web サイトを例に挙げます。プロジェクトのグループ化が使用されていない場合、通常、Web サイトのフロントエンド (閲覧のためにユーザーに提供される部分) がプロジェクトとして扱われます。 Web サイトのバックエンド管理部分には、独立した設定ファイル、CSS ファイル、テンプレートなどが含まれる場合があるため、別のプロジェクトとして管理されます。しかし実際には、どちらのプロジェクトも Web サイトのコンテンツであり、データベース構成ファイルや一部のモデル クラス、プロジェクト間の操作などの一部のコンテンツを共有できます。
プロジェクトのグループ化により、同じシステム内のプロジェクト間の共通性と個別性の問題を効果的に解決できます。
プロジェクトグループ構成
システム構成ファイル (Config/config.php) で簡単なプロジェクト グループ化構成を実行して、プロジェクトのグループ化を有効にします。
プロジェクト グループ化モードに関連する構成は 5 つあります:
設定オプション | 手順 | 例または提案 |
---|---|---|
APP_GROUP_LIST | プロジェクト グループのすべての名前のリスト。設定されていない場合は、プロジェクト グループ化モードが有効になっていないことを意味します | 'APP_GROUP_LIST'=>'ホーム、管理者、ユーザー、ブログ', |
デフォルト_グループ | デフォルトのプロジェクトグループ名、システムデフォルトはホームです | 'DEFAULT_GROUP' =>'ホーム', |
APP_GROUP_DEPR | プロジェクトグループ間の区切り文字、デフォルトは.(ドット)で、A関数、D関数、ルーティング設定での分離に使用されます | デフォルトを推奨します |
TMPL_FILE_DEPR | テンプレート ファイル内のモジュールとオペレーション間の区切り文字、デフォルトは / で、プロジェクト グループのデプロイメントにのみ有効です | デフォルトにすることをお勧めします。U メソッドを使用して URL を自動的に生成できます |
VAR_グループ | プロジェクトグループの名前を取得する変数、デフォルトはgです | index.php?g=Admin&m=Index&a=edit、デフォルトにすることをお勧めします |
Tpl/default/Admin/Index/add.html
に変更されました:
Tpl/default/Admin/Index_add.html
この構成により、テンプレートのディレクトリ構造が 1 ディレクトリ削減されます。
ヒント: TMPL_FILE_DEPR は、言語ファイル内のグループ化された言語定義と言語ファイルの間の区切り文字でもあります。
上記の設定オプションのうち、グループ化を有効にするには、APP_GROUP_LIST を設定する必要があり、その他のオプションは実際の状況に応じて設定する必要があります。
プロジェクトグループのパーソナライズされた構成
グループ化されたプロジェクトに独自のパーソナライズされた構成を追加したい場合は、構成ディレクトリ Conf の下にプロジェクト グループと同じ名前のディレクトリを作成できます (ディレクトリの命名形式は次のとおりです: グループ名の最初の文字は大文字です) + 残りの文字は小文字)、ディレクトリ内に config.php 設定ファイルを定義します。管理プロジェクトのパーソナライズされた構成ファイルなど:
Conf/Admin/config.php
グループ名を持つディレクトリに config.php ファイルが定義されている場合、グループにアクセスするたびに、システムはグループの独立した設定を自動的にロードし、パブリック設定内の同じオプションの設定を上書きします。
より thinkPHP 関連のコンテンツに興味のある読者は、このサイトの特別トピック「ThinkPHP 入門チュートリアル」、「ThinkPHP 一般的なメソッドの概要」、「Smarty テンプレートの基本チュートリアル」、および「PHP テンプレート テクノロジの概要」をチェックしてください。
この記事が皆さんの ThinkPHP フレームワークに基づく PHP プログラムの設計に役立つことを願っています。