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 composer
installé 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、route
autres modules et placé dans des config
dossiers;
thinkphp6 a introduit un nouveau .env
fichier, vous pouvez lire ce paramètre d'environnement pour configurer la base de données, etc.
3. Apportez votre propre service Web
php think run
Vous pouvez directement démarrer un serveur Web localement, et vous pouvez également -p
spécifier le port avec des paramètres
4. Structure du répertoire
application
Renommez le dossier en app
;
Le cadre de base de thinkphp
thinkphp5 se trouve sous le répertoire racine du projet , thinkphp6 estvendor/topthink
5. Contrôleur
Auparavant hérité de la think\Controller
classe, maintenant il est héritéBaseController
6. Domaine croisé
Il vous suffit middleware.php
de vous inscrire \think\middleware\AllowCrossDomain
pour 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.php
fichier d'entrée à accéder; l'application api peut définir le api.php
fichier 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.php
accé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.php
le default_app
paramè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