Maison  >  Article  >  cadre php  >  Quelle est la différence entre les nouvelles « Applications multiples » de ThinkPHP6 et ThinkPHP5 ?

Quelle est la différence entre les nouvelles « Applications multiples » de ThinkPHP6 et ThinkPHP5 ?

王雪芹
王雪芹original
2020-04-30 10:18:332882parcourir

Dans ThinkPHP6, un nouveau terme appelé « multi-application » est ajouté, que l'on ne retrouve pas dans ThinkPHP5 Alors à quoi sert-il ? Venez écouter les discussions de Wang Xueqin, le contributeur du site PHP chinois...

Tout d'abord, jetez un œil au manuel officiel de ThinkPHP6 sur la structure des répertoires de plusieurs applications :

├─app 应用目录
│  ├─index              主应用
│  │  ├─controller      控制器目录
│  │  ├─model           模型目录
│  │  ├─view            视图目录
│  │  ├─config          配置目录(优先)
│  │  └─ ...            更多类库目录
│  ├─admin              后台应用
│  │  ├─controller      控制器目录
│  │  ├─model           模型目录
│  │  ├─view            视图目录
│  │  ├─config          配置目录(优先)
│  │  └─ ...            更多类库目录
│
├─public                WEB目录(对外访问目录)
│  ├─admin.php          后台入口文件
│  ├─index.php          入口文件
│  ├─router.php         快速测试文件
│  └─.htaccess          用于apache的重写
│
├─config                应用配置目录
│  ├─index              index应用配置
│  └─admin              admin应用配置
│
├─view                视图目录
│  ├─index              index应用视图目录
│  └─admin              admin应用视图目录
│
├─route                 路由定义目录
│  ├─index              index应用路由定义目录
│  └─admin              admin应用路由定义目录
│
├─runtime               运行时目录
│  ├─index              index应用运行时目录
│  └─admin              admin应用运行时目录

(Source : ThinkPHP6.0 Rapid Development Manual (version de cas) )

Oh, il semble que la multi-application de ThinkPHP6 ne soit rien de plus que cela. Il y a un index frontal. application et une application d'administration en arrière-plan. C'est ce qu'on appelle multi-application. À l'époque, lorsque nous utilisions ThinkPHP5, nous développions également l'index des applications front-end et l'administrateur des applications back-end. Quelle est la différence ?

Différence 1 : Il doit être téléchargé via composer avant de pouvoir être utilisé.

Le framework ThinkPHP6 est une seule application par défaut après téléchargement. Si vous souhaitez utiliser plusieurs applications, vous devez télécharger :

composer require topthink/think-multi-app

Différence 2 : La définition de l'itinéraire doit être. dans le cadre de la demande actuelle.

Nous savons que dans ThinkPHP5, nous pouvons définir le fichier de route dans le répertoire racine, mais après ThinkPHP6, la route doit être définie dans le répertoire de l'application.

Différence 3 : ThinkPHP6 prend en charge le portail d'applications.

Dans ThinkPHP6, nous pouvons définir un fichier d'entrée distinct pour une application. Par exemple, pour l'application d'administration, je peux définir le fichier d'entrée admin.php pour y accéder.

Différence 4 : Application de liaison de nom de domaine.

Par exemple, dans ThinkPHP5, après avoir défini l'itinéraire de www.a.com/index/index/company.html, nous pouvons obtenir cet effet www.a.com/company.html

Mais dans ThinkPHP6, vous constaterez que quelle que soit la façon dont vous configurez le routage, l'application d'index ne peut pas être supprimée. Elle est toujours www.a.com/index/company.html. Comment cela peut-il être corrigé ?

Ensuite, la solution peut être d'utiliser l'application de liaison de nom de domaine. Nous définissons la liaison du nom de domaine et de l'application dans le fichier de configuration config/app.php, comme suit :

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

De cette façon, nous pouvons y accéder en utilisant www.a.com/company.html.

Enfin :

En général, la multi-application de ThinkPHP6 est encore une grande amélioration par rapport à ThinkPHP5, même s'il est un peu gênant de l'utiliser pour la première fois du temps et nécessite le téléchargement du compositeur, mais cela n'affecte pas notre faveur pour les multi-applications ThinkPHP6.

【Tutoriels recommandés】

1 articles techniques thinkphp

2. tutoriels vidéo thinkphp

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn