ThinkPHP5とThinkPHP6の違い

著者: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 runWebサーバーをローカルで直接起動でき-pます。またパラメーター使用してポート指定することもできます。

4.ディレクトリ構造

applicationフォルダの名前をapp;に変更します

thinkphpthinkphp5のコアフレームワークはプロジェクトのルートディレクトリの下にあり、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を使用してクラスの自動ロードを実装します

おすすめ

転載: blog.csdn.net/C_jian/article/details/108184038