Heim >PHP-Framework >Denken Sie an PHP >Fragen und Antworten zum Thinkphp-Interview

Fragen und Antworten zum Thinkphp-Interview

coldplay.xixi
coldplay.xixinach vorne
2020-08-10 16:50:578298Durchsuche

Fragen und Antworten zum Thinkphp-Interview

1. Wie ist die Einzeleintragsdatei in TP zu verstehen?

Antwort: ThinkPHP verwendet einen einzigen Zugangsmodus für die Projektbereitstellung und den Zugriff. Unabhängig davon, welche Funktion ausgeführt wird, verfügt ein Projekt über einen einheitlichen (aber nicht unbedingt den einzigen) Eingang. Es sollte gesagt werden, dass alle Projekte mit der Eintragsdatei beginnen und die Eintragsdateien aller Projekte ähnlich sind:

Definieren Sie den Framework-Pfad, den Projektpfad und den Projektnamen (optional) ?? (Verstehen) MVC ist eine Methode, die die Logik trennt Schicht und Präsentationsschicht der Anwendungsmethode. ThinkPHP basiert ebenfalls auf dem MVC-Entwurfsmuster. MVC ist nur ein abstraktes Konzept und hat keine besonders klaren Vorschriften. Die MVC-Schichtung in ThinkPHP spiegelt sich grob wider in:

Modell (M): Die Definition des Modells wird durch die Model-Klasse vervollständigt.

Empfohlene verwandte Themen:

Fragen und Antworten zum Thinkphp-Interview 2020 (vollständige Sammlung)

Controller (C): Anwendungscontroller (Kerncontroller-App-Klasse) und Aktionscontroller sind beide für die Steuerung in der Rolle verantwortlich Der Aktionscontroller des Controllers vervollständigt die Geschäftsprozesssteuerung, während der Anwendungscontroller für die Planungssteuerung verantwortlich ist.

Ansicht (V): Besteht aus Ansichtsklasse und Vorlagendatei. Die Vorlage ist zu 100 % getrennt und kann unabhängig voneinander in der Vorschau angezeigt und erstellt werden. Aber tatsächlich ist ThinkPHP nicht auf M oder V angewiesen, was bedeutet, dass es ohne Modell oder Ansicht funktionieren kann. Es ist nicht einmal auf C angewiesen. Dies liegt daran, dass ThinkPHP zusätzlich zu Action auch über einen Master-Controller verfügt, den App-Controller, der für die Gesamtplanung der Anwendung verantwortlich ist. Fehlt C, muss View V vorhanden sein, andernfalls handelt es sich nicht mehr um eine vollständige Anwendung. Alles in allem bietet das MVC-Modell von ThinkPHP nur ein Mittel zur agilen Entwicklung, anstatt sich an MVC selbst zu halten.

3.Wie versteht man das Verhalten in der ThinkPHP 3.0-Architektur (Kern + Verhalten + Treiber)? Die offizielle Abkürzung von TP lautet: CBD

 Kern: Es ist das Framework. Der Kerncode ist eine unverzichtbare Sache. TP selbst ist ein Framework, das auf der Grundlage der MVC-Idee entwickelt wurde.   Verhalten: Verhalten spielt eine entscheidende Rolle in der Architektur der neuen Version von ThinkPHP. Zusätzlich zum Systemkern gibt es viele Tag-Erweiterungsbits, und jede Tag-Position kann ihre eigene unabhängige Funktion ausführen Verhalten. Auf diese Weise wurden Verhaltenserweiterungen geboren, und viele Systemfunktionen werden auch durch integrierte Verhaltenserweiterungen vervollständigt. Alle Verhaltenserweiterungen sind austauschbar und additiv und bilden somit die Grundlage für den Aufbau des zugrunde liegenden Frameworks.

Treiber: Datenbanktreiber, Cache-Treiber, Tag-Bibliothekstreiber und Template-Engine-Treiber sowie externe Klassenerweiterungen.

 Rahmen, also Rahmen. Tatsächlich handelt es sich um ein halbfertiges Produkt einer bestimmten Anwendung, eine Reihe von Komponenten, die Sie auswählen und verwenden können, um Ihr eigenes System zu vervollständigen. Vereinfacht ausgedrückt nutzt man das Bühnenbild anderer und tritt auf. Darüber hinaus handelt es sich bei Frameworks in der Regel um ausgereifte, kontinuierlich aktualisierte Software.

4. Wie verhindert ThinkPHP SQL-Injection? (Verstehen)

 

  (3 ) Aktivieren Sie die Überprüfung des Datenfeldtyps. Sie können die Konvertierung numerischer Datentypen erzwingen. (Die Überprüfung des Feldtyps ist seit Version 3.1 obligatorisch.) Melden Sie sich bei der Eingabe an.

5. Wie aktiviere ich den Debugging-Modus? Welche Vorteile bietet der Debug-Modus?

Das Aktivieren des Debugging-Modus ist sehr einfach. Fügen Sie einfach eine Zeile mit konstantem Definitionscode zur Eintragsdatei hinzu:

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

Nach Abschluss der Entwicklungsphase und Bereitstellung in In der Produktionsumgebung müssen Sie lediglich den Debugmodus-Definitionscode löschen, um in den Bereitstellungsmodus zu wechseln. Nach dem Aktivieren des Debugging-Modus lädt das System zunächst die Standard-Debugging-Konfigurationsdatei des Systems und dann die Debugging-Konfigurationsdatei des Projekts. Die Vorteile des Debugging-Modus sind:

 

Aktivieren Sie die Protokollierung. Alle Fehlerinformationen und die Debugging-Informationen werden detailliert aufgezeichnet, um das Debuggen zu erleichtern. Schalten Sie den Vorlagencache aus, und Vorlagenänderungen können sofort wirksam werden um die SQL-Analyse zu erleichtern;

 Feld-Caching deaktivieren, Änderungen an Datentabellenfeldern werden vom Cache nicht beeinflusst;

Überprüfen Sie die Datei-Groß-/Kleinschreibung genau (auch auf Windows-Plattformen), um die Erkennung zu erleichtern Linux-Bereitstellungsprobleme im Voraus;

 Es kann bequem in verschiedenen Phasen des Entwicklungsprozesses verwendet werden, einschließlich Entwicklung, Test, Demonstration und anderen notwendigen Situationen. Verschiedene Anwendungsmodi können mit unabhängigen Projektkonfigurationsdateien konfiguriert werden.

6. Welche Konfigurationsmodi werden in TP unterstützt? Priorität?

HinkPhp hat einen einzigartigen hierarchischen Konfigurationsmodus in der Projektkonfiguration erstellt ->Gruppenkonfiguration->Erweiterte Konfiguration->Dynamische Konfiguration

  Das Obige ist die Ladesequenz der Konfigurationsdatei, da die nachfolgende Konfiguration die vorherige Konfiguration mit demselben Namen überschreibt (falls vorhanden). ist nicht wirksam) ), daher ist die Rangfolge von rechts nach links.

7. Was sind die URL-Muster in TP? Welches ist die Standardeinstellung?

 

ThinkPHP unterstützt vier URL-Modi, die durch Festlegen des URL_MODEL-Parameters definiert werden können, einschließlich Normalmodus, PATHINFO, REWRITE und Kompatibilitätsmodus.

  Der Standardmodus ist: PATHINFO-Modus, setzen Sie URL_MODEL auf 1

8. Was sind die Systemvariablen in TP? Wie erhalte ich Systemvariablen?

Methode zum Erhalten von Systemvariablen:

Rufen Sie einfach die folgende Methode in Action auf:

 $this->Methodenname( " Variablenname",["Filtermethode"],["Standardwert"])

9ThinkPHP Im Rahmen D Was ist der Unterschied zwischen -Funktion und M-Funktion?

Antwort: Die M-Methode erfordert nicht, dass der Benutzer für jede Datentabelle eine Modellklasse definiert. Die D-Methode kann die Modellklasse automatisch erkennen, falls vorhanden eine benutzerdefinierte Modellklasse, instanziieren Sie die benutzerdefinierte Modellklasse. Wenn sie nicht vorhanden ist, wird die M-Methode automatisch aufgerufen, um die Model-Basisklasse zu instanziieren. Gleichzeitig werden instanziierte Modelle nicht wiederholt instanziiert (Einzelfallmodus).

Verwandte Lernempfehlungen: thinkphp

Das obige ist der detaillierte Inhalt vonFragen und Antworten zum Thinkphp-Interview. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen