著者:Chen
Jinjian個人ブログ:HTTPS://jian1098.github.io
CSDNブログ:https://blog.csdn.net/c_jian
Jane本:https://www.jianshu.com/u/8ba9ac5706b6
連絡先:jian1098 @ qq.com
1.設置方法
thinkphp6はcomposer
によってのみインストールできます
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer # 设置composer为阿里云镜像,解决国内使用composer慢的问题
composer create-project topthink/think myproject # 安装稳定版,myproject为你的项目名
2.構成ファイル
Thinkphp5は他のモジュールにconfig.php
分割さapp、cache、database、route
れ、config
フォルダーに配置されています。
thinkphp6は新しい.env
ファイルを導入しました。この環境設定を読んで、データベースなどを構成できます。
3.独自のWebサービスを持参してください
php think run
Webサーバーをローカルで直接起動でき-p
ます。また、パラメーターを使用してポートを指定することもできます。
4.ディレクトリ構造
application
フォルダの名前をapp
;に変更します。
thinkphp
thinkphp5のコアフレームワークはプロジェクトのルートディレクトリの下にあり、thinkphp6はvendor/topthink
5.コントローラー
以前はthink\Controller
クラスを継承していましたが、現在は継承されていますBaseController
6.クロスドメイン
クロスドメインの問題を解決するためmiddleware.php
に登録する必要があるだけです\think\middleware\AllowCrossDomain
7.コンポーネントの独立性
スタンドアロンORM
独立したテンプレートエンジン
8.厳密モード
thinkphp6はphp7厳密モードを使用します
9.ファイルシステムの導入
10.マルチアプリケーションエントリをサポートします
管理アプリケーションは、admin.php
アクセスするエントリファイルを設定できます。APIアプリケーションは、api.php
アクセスするエントリファイルを設定できます。
マルチアプリケーションモードを使用する場合は、マルチアプリケーションモード拡張機能をインストールする必要があります
composer require topthink/think-multi-app
次に、アプリケーションディレクトリ構造を次のように調整する必要があります。主な違いは、アプリケーションサブディレクトリがアプリディレクトリに追加され、構成ファイルとルート定義ファイルがアプリケーションディレクトリに含まれることです。
├─app 应用目录
│ ├─index 主应用
│ │ ├─controller 控制器目录
│ │ ├─model 模型目录
│ │ ├─view 视图目录
│ │ ├─config 配置目录
│ │ ├─route 路由目录
│ │ └─ ... 更多类库目录
│ │
│ ├─admin 后台应用
│ │ ├─controller 控制器目录
│ │ ├─model 模型目录
│ │ ├─view 视图目录
│ │ ├─config 配置目录
│ │ ├─route 路由目录
│ │ └─ ... 更多类库目录
│
├─public WEB目录(对外访问目录)
│ ├─admin.php 后台入口文件
│ ├─index.php 入口文件
│ ├─router.php 快速测试文件
│ └─.htaccess 用于apache的重写
│
├─config 全局应用配置目录
├─runtime 运行时目录
│ ├─index index应用运行时目录
│ └─admin admin应用运行时目录
同じエントリファイル内の複数のアプリケーションへのアクセスをサポートし、アプリケーションのマッピングとカスタマイズをサポートします。index.php
エントリファイルからアクセスし、アプリケーションが設定されていないname
場合、システムは自動的に自動マルチアプリケーションモードを採用します。
自動マルチアプリケーションモードのURLアドレスがデフォルトで使用されます
// 访问admin应用
http://serverName/index.php/admin
// 访问shop应用
http://serverName/index.php/shop
app.php
構成ファイルを介して、構成default_app
パラメーターはデフォルトのアプリケーションを指定します
// 设置默认应用名称
'default_app' => 'home',
11.ドメインネームバインディングアプリケーション
config/app.php
ドメイン名とアプリケーションのバインディングは、構成ファイルで定義されています
'domain_bind' => [
'www.a.com' => 'index', // 域名绑定到www应用
'admin.a.com' => 'admin', // admin绑定到后台应用
],
12.自動読み込み
thinkphp5は本当にオンデマンドの読み込みを実現し、すべてのクラスライブラリは自動読み込みメカニズムを採用し、クラスライブラリのマッピングとcomposerクラスライブラリの自動読み込みをサポートします。
thinkphp6はcomposerを使用してクラスの自動ロードを実装します