TP6 での複数のアプリケーションの構成についてここに書きます。TP6 と TP5 は異なるため、TP6 はデフォルトでシングル アプリケーション モード (シングル モジュール) になっていますが、実際のプロジェクトでは複数のアプリケーション (複数モジュール) が含まれることが多いため、TP6 を使用する場合はマルチ アプリケーション モードを設定して有効にする必要があります。
目次
1. マルチアプリケーションモードをインストールする
1. 複数のアプリケーション モデルをインストールする
プロジェクトのルート ディレクトリを入力し、CMD を開き、composer を使用してマルチアプリケーション モデルをインストールします。
composer require topthink/think-multi-app
2. think-view 拡張機能をインストールする
ルート ディレクトリに、composer を使用して think-view 拡張機能をインストールします (公式マニュアルで説明されています)。
ビュー関数は、\think\View クラスとビュー ドライバー (つまり、テンプレート エンジン ドライバー) クラスによって完成されます。新しいバージョンには、組み込みの PHP ネイティブ テンプレート エンジンのみが含まれます (主に組み込みの例外ページ出力に使用されます)。 ). 他のテンプレート エンジンを使用する必要がある場合は、個別に使用する必要があるため、適切なテンプレート エンジン拡張機能をインストールしてください。
think-template テンプレート エンジンを使用する必要がある場合は、think-view テンプレート エンジン ドライバーをインストールするだけで済みます。
composer require topthink/think-view
拡張機能がインストールされていない場合、コントローラーで「return view()」を使用するとエラーが報告されます。
2.アプリディレクトリ内のファイルを削除します
アプリ ディレクトリに付属するすべてのファイルを削除します。複数のアプリケーションを再作成する必要があるため、元のアプリケーションは不要になったので削除できます。
3. 新しいアプリケーションを作成する
アプリの下に新しいアプリケーション (新しいモジュール) を作成します。たとえば、アプリの下に管理モジュールとインデックス モジュールを作成します。これらはコードまたは手動で作成できます。
php think make:controller admin@index
php think make:controller index@index
作成が成功すると、アプリ内に「admin」と「index」という2つのフォルダーが作成されると同時に、対応するフォルダー下にindex.phpコントローラーが自動作成され、コントローラー内のコードを直接使用できるようになります。
4. デフォルトのアプリケーションを構成する
config/app.php を変更し、次の設定を変更します。そうでない場合は、直接追加してください。
// 设置默认应用名称
'default_app' => 'home',
// 开启自动多模式
'auto_multi_app' => true,
// 开启应用快速访问
'app_express' => false,
5. 擬似静的を変更する
1.Apacheを以下のように修正します
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [QSA,PT,L]
</IfModule>
2.nginxを以下のように変更します
location / {
try_files $uri $uri/ /index.php?$query_string;
index index.html index.htm index.php;
autoindex on;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}
6. 環境変数を構成する
プロジェクトフォルダーに「.example.env」環境変数サンプルファイルがあります。このファイルはサンプルファイルであり、正式に使用されるファイルではないため、環境変数を変更する必要がある場合は、新しいファイルを作成して名前を付けることができます「.evn」ファイルでは、サンプル ファイル内の一部の構成を新しい evn ファイルにコピーできます
// 开启调试模式
APP_DEBUG = true
7. 訪問アイテム
この時点で作業は完了し、ドメイン名を直接入力してプロジェクトにアクセスできるようになります。
8. ファイル構造を確認する
このときのファイル構成は以下の通りです appフォルダ内にindexとadminという2つの新規モジュールが作成されます 各モジュールにはTP5と同様にコントローラファイル、モデルファイル、ビューファイルが存在します同時に、各モジュールの下に、現在のスコープに関連するファイル (関数ファイル、構成ファイルなど) が存在することもあります。
www WEB部署目录(或者子目录)
├─app 应用目录
│ ├─index 应用目录
│ │ ├─controller 控制器目录
│ │ │ ├─Index.php 控制器文件
│ │ ├─model 模型目录
│ │ ├─view 视图目录
│ │ ├─common.php 函数文件
│ │ ├─config 配置目录
│ │ ├─route 路由目录
│ │ └─ ... 更多类库目录
│ ├─admin 应用目录
│ │ ├─controller 控制器目录
│ │ ├─model 模型目录
│ │ ├─view 视图目录
│ ├─common.php 公共函数文件
│ └─event.php 事件定义文件
├─config 全局配置目录
│ ├─app.php 应用配置
│ ├─cache.php 缓存配置
│ ├─console.php 控制台配置
│ ├─cookie.php Cookie配置
│ ├─database.php 数据库配置
│ ├─filesystem.php 文件磁盘配置
│ ├─lang.php 多语言配置
│ ├─log.php 日志配置
│ ├─middleware.php 中间件配置
│ ├─route.php URL和路由配置
│ ├─session.php Session配置
│ ├─trace.php Trace配置
│ └─view.php 视图配置
├─public WEB目录(对外访问目录)
│ ├─index.php 入口文件
│ ├─router.php 快速测试文件
│ └─.htaccess 用于apache的重写
│
├─extend 扩展类库目录
├─runtime 应用的运行时目录(可写,可定制)
├─vendor Composer类库目录
├─.example.env 环境变量示例文件
├─composer.json composer 定义文件
├─LICENSE.txt 授权说明文件
├─README.md README 文件
├─think 命令行入口文件
├─.env 环境变量
マルチアプリケーション モードのファイル構造の詳細については、公式ドキュメントhttps://www.kancloud.cn/manual/thinkphp6_0/1037483を参照してください。