La différence entre ThinkPHP5 et ThinkPHP6

Auteur: Chen Jinjian
blog personnel: HTTPS: //jian1098.github.io
Blog CSDN: https: //blog.csdn.net/c_jian
Jane livre: https: //www.jianshu.com/u/8ba9ac5706b6
Contact: jian1098 @ qq.com

1. Méthode d'installation

thinkphp6 ne peut être composerinstallé que par

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer		# 设置composer为阿里云镜像,解决国内使用composer慢的问题
composer create-project topthink/think myproject			# 安装稳定版,myproject为你的项目名

2. Fichier de configuration

Thinkphp5 a config.phpété divisé en d' app、cache、database、routeautres modules et placé dans des configdossiers;

thinkphp6 a introduit un nouveau .envfichier, vous pouvez lire ce paramètre d'environnement pour configurer la base de données, etc.

3. Apportez votre propre service Web

php think runVous pouvez directement démarrer un serveur Web localement, et vous pouvez également -pspécifier le port avec des paramètres

4. Structure du répertoire

applicationRenommez le dossier en app;

Le cadre de base de thinkphpthinkphp5 se trouve sous le répertoire racine du projet , thinkphp6 estvendor/topthink

5. Contrôleur

Auparavant hérité de la think\Controllerclasse, maintenant il est héritéBaseController

6. Domaine croisé

Il vous suffit middleware.phpde vous inscrire \think\middleware\AllowCrossDomainpour résoudre les problèmes inter-domaines

7. Indépendance des composants

ORM autonome

Moteur de template indépendant

8. Mode strict

thinkphp6 utilise le mode strict de php7

9. Présentez le système de fichiers

10. Prise en charge de l'entrée multi-applications

L'application d'administration peut définir le admin.phpfichier d'entrée à accéder; l'application api peut définir le api.phpfichier d'entrée à accéder.

Si vous souhaitez utiliser le mode multi-application, vous devez installer l'extension du mode multi-application

composer require topthink/think-multi-app

Ensuite, la structure du répertoire de votre application doit être ajustée comme suit. La principale différence est qu'un sous-répertoire d'application est ajouté au répertoire de l'application, puis le fichier de configuration et le fichier de définition d'itinéraire sont inclus dans le répertoire de l'application.

├─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应用运行时目录

Prend en charge l'accès à plusieurs applications dans le même fichier d'entrée et prend en charge le mappage et la personnalisation des applications. Si vous y index.phpaccédez via le fichier d'entrée et qu'aucune application n'est définie name, le système adopte automatiquement le mode multi-applications automatique.

L'adresse URL du mode multi-applications automatique est utilisée par défaut

// 访问admin应用
http://serverName/index.php/admin
// 访问shop应用
http://serverName/index.php/shop

Via app.phple default_appparamètre de configuration du fichier de configuration spécifie l'application par défaut

// 设置默认应用名称
'default_app' => 'home',

11. Application de liaison de nom de domaine

config/app.php La liaison du nom de domaine et de l'application est définie dans le fichier de configuration

'domain_bind' => [
	'www.a.com' => 'index', 	// 域名绑定到www应用
	'admin.a.com' => 'admin', 	// admin绑定到后台应用
], 

12. Chargement automatique

thinkphp5 réalise vraiment le chargement à la demande, toutes les bibliothèques de classes adoptent un mécanisme de chargement automatique et prennent en charge le mappage de la bibliothèque de classes et le chargement automatique de la bibliothèque de classes du compositeur;

thinkphp6 utilise composer pour implémenter le chargement automatique de classe

Je suppose que tu aimes

Origine blog.csdn.net/C_jian/article/details/108184038
conseillé
Classement