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
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!