La version
<img src="https://img.php.cn/upload/article/000/000/020/5d16d4ae8cd5f951.jpg" alt="La différence entre thinkphp5 et 3.2" >
thinkphp5.0
est assez différente de la version précédente. Cet article donne quelques-unes des principales différences de 3.2
pour les utilisateurs familiers avec la version 5.0
.
5.0
L'accès aux URL ne prend plus en charge le mode URL
normal, et le routage ne prend pas en charge les définitions d'itinéraires régulières. Au lieu de cela, ils sont tous remplacés par des itinéraires réguliers avec variable. règles (définition régulière) :
Les principales améliorations sont les suivantes ;
Ajouter des règles de variable de routage ;
Ajouter la prise en charge des variables de combinaison ;
Ajouter le routage des ressources ;
Ajouter un regroupement de routes ;
Ajouter la prise en charge de la définition de fermeture
Ajouter la définition de la route MISS ;
Prise en charge de l'anti-analyse des règles de routage d'URL ;
5.0
Ajout de l'objet de requête Request
et de l'objet de réponse Response
Request
traite uniformément les requêtes et obtient les informations sur la requête. L'objet Response
est responsable de la sortie des réponses du client ou du navigateur.
L'espace de noms du contrôleur a été ajusté et il n'est pas nécessaire d'hériter d'une classe de contrôleur.
app
(définissable) au lieu du nom du module Controller
par défaut et peut être configuré pour s'allumeruse_controller_suffix
Le paramètre active le suffixe de classe du contrôleur ; return
pour renvoyer les données au lieu de la sortie directe beforeActionList
pré-opération de définition d'attribut ; La fonction de requête de base de données de 5.0 a été améliorée. La requête en chaîne qui devait à l'origine être utilisée via le modèle peut être appelée directement via la classe Db
. . L'appel de fonction M
d'origine peut être modifié pour utiliser la fonction db
, par exemple :
M('User')->where(['name'=>'thinkphp'])->find();
db('User')->where('name','thinkphp')->find();
Les principales améliorations sont. comme suit :
PDOStatement
objets Collection
d'origine L'appel est remplacé par la fonction 5.0
, et la classe modèle correspondante doit être. créé, par exemple : Model
D
Version 3.2 model
D('User')->where(['name'=>'thinkphp'])->find();Version 5.0
model('User')->where('name','thinkphp')->find();
Reconstruire le modèle d'association
Trait
thinkValidate
Tolérance zéro pour les erreurs, par défaut une exception sera levée pour n'importe quel niveau d'erreur (mais le niveau d'erreur peut être défini dans le fichier public de l'application), et repensée La page d'exception affiche des informations détaillées sur les erreurs pour un débogage facile. La page
5.0
est
le pilote de journal ajoute la méthode 5.0
et utilise Trace
pour prendre en charge le débogage à distance. La version
Constant5.0
Socket
SocketLog
supprime la plupart des définitions de constantes d'origine, ne conservant que les définitions de constante de chemin du framework. Les constantes restantes peuvent utiliser la classe
Les constantes obsolètes incluent : 5.0
REQUEST_METHOD IS_GET IS_POST IS_PUT IS_DELETE IS_AJAX __EXT__ COMMON_MODULE MODULE_NAME CONTROLLER_NAME ACTION_NAME APP_NAMESPACE APP_DEBUG MODULE_PATH
App
FonctionRequest
Le framework principal ne repose sur aucune fonction personnalisée, mais encapsule toujours certaines fonctions courantes dans des fonctions d'assistance, vous Vous pouvez redéfinir ou ajouter des fonctions d'assistance à volonté.
5.0
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!