Maison  >  Article  >  cadre php  >  Questions et réponses d'entretien Thinkphp

Questions et réponses d'entretien Thinkphp

coldplay.xixi
coldplay.xixiavant
2020-08-10 16:50:578246parcourir

Questions et réponses d'entretien Thinkphp

1. Comment comprendre le fichier à entrée unique dans TP ?

Réponse : ThinkPHP utilise un mode d'entrée unique pour le déploiement et l'accès au projet. Quelle que soit la fonction exécutée, un projet a un mode d'entrée unifié. Pas nécessairement la seule entrée). Il faut dire que tous les projets partent du dossier d'entrée, et les dossiers d'entrée de tous les projets sont similaires. Le dossier d'entrée comprend principalement :

Définir le cadre. Chemin, chemin du projet et nom du projet (facultatif)

Définir les constantes associées pour le mode débogage et le mode exécution (facultatif)

Chargement du fichier d'entrée du framework (obligatoire)

2.Superposition MVC dans ThinkPHP Qu'est-ce que c'est ? (Comprendre)

  MVC est une méthode de séparation de la couche logique et de la couche de présentation d'une application. ThinkPHP est également basé sur le modèle de conception MVC. MVC n'est qu'un concept abstrait et n'a pas de réglementation particulièrement claire. La superposition MVC dans ThinkPHP se reflète grossièrement dans :

. Modèle (M) : La définition du modèle est complétée par la classe Model.

Recommandations de sujets pertinents : Questions et réponses de l'entretien thinkphp 2020 (collection complète)

Contrôleur (C) : le contrôleur d'application (classe d'application du contrôleur principal) et le contrôleur d'action assument tous deux le rôle de contrôleur. Le contrôleur d'action effectue le contrôle des processus métier, tandis que le contrôleur d'application est responsable du contrôle de la planification.

Vue (V) : elle se compose d'une classe View et d'un fichier modèle. Le modèle est 100 % séparé et peut être prévisualisé et produit. indépendamment.

Mais en fait, ThinkPHP ne dépend pas de M ou de V, ce qui signifie qu'il peut fonctionner sans modèle ni vue. Il ne repose même pas sur C. En effet, ThinkPHP dispose également d'un contrôleur principal au-dessus d'Action, le contrôleur d'application, qui est responsable de la planification globale de l'application. En l’absence de C, la vue V doit exister, sinon ce n’est plus une application complète.

En bref, le modèle MVC de ThinkPHP fournit uniquement un moyen de développement agile, plutôt que de s'en tenir au MVC lui-même.

3.Comment comprendre le comportement dans l'architecture ThinkPHP 3.0 (noyau + comportement + pilote) ? Réponse : Noyau + Comportement + Pilote

L'abréviation officielle de TP est : CBD Core : C'est le code de base du framework, une chose indispensable. TP lui-même est un framework développé sur la base de l'idée MVC.

Comportement : Le comportement joue un rôle déterminant dans l'architecture de la nouvelle version de ThinkPHP. Au-dessus du cœur du système, De nombreux bits d'extension de balise et chaque position de balise peuvent à leur tour effectuer leur propre comportement indépendant. C'est ainsi que sont nées les extensions comportementales, et de nombreuses fonctions du système sont également complétées par des extensions comportementales intégrées. Toutes les extensions comportementales sont remplaçables et additives, constituant ainsi la base de l'assemblage du cadre sous-jacent.

Pilote : pilote de base de données, pilote de cache, pilote de bibliothèque de balises et pilote de moteur de modèles, ainsi que des extensions de classe externes.

Cadre, c'est-à-dire cadre. En fait, il s'agit d'un produit semi-fini d'une certaine application, d'un ensemble de composants que vous pouvez choisir et utiliser pour compléter votre propre système. Pour faire simple, vous utilisez la scène installée par d’autres et vous jouez. De plus, les frameworks sont généralement des logiciels matures et continuellement mis à jour.

4. Comment ThinkPHP empêche-t-il l'injection SQL ? (Compréhension)

 

(1) Essayez d'utiliser des tableaux pour les conditions de requête. C'est un moyen plus sûr ;
(2) Si vous devez utiliser des conditions de requête de chaîne, utilisez le mécanisme de prétraitement ;
(3) Activez la vérification du type de champ de données et vous pouvez forcer la conversion des types de données numériques (cela est obligatoire depuis ; version 3.1 Type de champ vérifié)

  (4) Utiliser des mécanismes de vérification automatique et de saisie semi-automatique pour le filtrage personnalisé spécifique à l'application

(5) Utiliser les mécanismes de vérification du type de champ, de vérification automatique et de complétion automatique pour éviter la saisie de données malveillantes.

5. Comment activer le mode débogage ? Quels sont les avantages du mode débogage ?

L'activation du mode débogage est très simple, il suffit d'ajouter une ligne de code de définition constante au fichier d'entrée :

<?php
 
      //开启调试模式
 
      define(&#39;APP_DEBUG&#39;, true);
 
      //加载框架入口文件
 
      require &#39;./ThinkPHP/ThinkPHP.php&#39;;

 Après avoir terminé la phase de développement et le déploiement dans l'environnement de production, il vous suffit de supprimer le code de définition du mode débogage pour passer en mode déploiement. Après avoir activé le mode débogage, le système chargera d'abord le fichier de configuration de débogage par défaut du système, puis chargera le fichier de configuration de débogage du projet. Les avantages du mode débogage sont :

<.>

  Activez la journalisation, toutes les informations d'erreur et les informations de débogage seront enregistrées en détail pour faciliter le débogage  ;

Désactivez le cache des modèles et les modifications du modèle peuvent prendre effet immédiatement

Enregistrez les journaux SQL pour une analyse facile SQL

Désactivez la mise en cache des champs, les modifications des champs de la table de données ne seront pas affectées par le cache. ;

Vérifiez strictement la casse des fichiers (même sur la plate-forme Windows) pour vous aider à détecter à l'avance les problèmes de déploiement Linux

Il peut être facilement utilisé à différentes étapes du processus de développement, y compris le développement, les tests, la démonstration et d'autres situations nécessaires. Différents modes d'application peuvent être configurés avec. fichiers de configuration de projet indépendants.

6. Quels modes de configuration sont pris en charge dans TP ? Priorité?

 ThinkPHP a créé son propre mode de configuration en couches unique dans la configuration du projet, et son niveau de configuration se reflète dans :

Configuration conventionnelle->Configuration du projet->Configuration du débogage->Configuration du groupe->Configuration étendue-> ; Configuration dynamique

Ce qui précède est la séquence de chargement du fichier de configuration, car la configuration suivante écrasera la configuration précédente du même nom (si ce n'est pas une prémisse efficace), donc l'ordre de préséance est de droite à gauche.

7. Quels sont les modèles d'URL dans TP ? Quel est la valeur par défaut ?

ThinkPHP prend en charge quatre modes d'URL, qui peuvent être définis en définissant le paramètre URL_MODEL, notamment le mode normal, PATHINFO, REWRITE et le mode de compatibilité. .

Le mode par défaut est : mode PATHINFO, définissez URL_MODEL sur 1

8. Quelles sont les variables système dans TP ? Comment obtenir les variables système ?

Méthodes pour obtenir les variables système :

 Il vous suffit d'appeler la méthode suivante dans Action :

 $this-> Nom de la méthode ("Nom de la variable",["Méthode de filtrage"],["Valeur par défaut"])

9, ThinkPHP framework Quelle est la différence entre la fonction D et la fonction M ?

Réponse : MLa méthode instanciant le modèle ne nécessite pas que l'utilisateur définisse une classe de modèle pour chaque table de données. La méthode D peut détecter automatiquement la classe de modèle. Si une classe de modèle personnalisée existe, la classe de modèle personnalisée sera instanciée. . Si elle n'existe pas, la méthode M sera automatiquement appelée pour instancier la classe de base Model. Dans le même temps, les modèles instanciés ne seront pas instanciés à plusieurs reprises (mode cas unique).

Recommandations d'apprentissage associées : 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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer