Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung der Thinkphp-Fragen in PHP-Interviewfragen

Zusammenfassung der Thinkphp-Fragen in PHP-Interviewfragen

黄舟
黄舟Original
2017-11-09 13:33:3019194Durchsuche

Jedes Mal, wenn wir in den letzten Jahren zu einem Unternehmen gingen, um uns für eine Stelle zu bewerben, stellte uns der Interviewer PHP-Interviewfragen, die zu thinkphp auftauchten, da thinkp in den letzten Jahren bei vielen Unternehmen und Programmen beliebt war , unsere PHP-Chinesisch-Website bietet Ihnen eine Zusammenfassung der Thinkphp-Fragen, die heute häufig in PHP-Interviewfragen auftauchen. Wir hoffen, dass sie Ihnen hilfreich sein werden!

Thinkphp-Thema:

1. Gängige PHP-Frameworks

Antwort: thinkPHP

yii

ZendFramework

CakePhp

sy

Empfehlungen zu verwandten Themen: Thinkphp-Interview 2020 Fragen und Antworten (vollständige Sammlung)

2. 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)

Definieren Sie Debug-Modus und betriebsmodusbezogene Konstanten (optional)

Laden Sie die Framework-Eintragsdatei (erforderlich)

3. Was Ist die MVC-Schichtung in ThinkPHP? (Verstehen)

Antwort: MVC ist eine Methode zur Trennung der logischen Schicht und der Präsentationsschicht einer Anwendung. ThinkPHP basiert ebenfalls auf dem MVCDesignmuster. MVC ist nur ein abstraktes Konzept ohne besonders klare Vorschriften. Die MVC-Schichtung in ThinkPHP spiegelt sich grob wider in:

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

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

Ansicht (V): Sie besteht aus einer Ansichtsklasse und einer 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.

Kurz gesagt: Das MVC-Modell von ThinkPHP bietet lediglich ein Mittel zur agilen Entwicklung, anstatt sich an MVC selbst zu halten.

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

Antwort: (1) Versuchen Sie, Arrays für Abfragebedingungen zu verwenden, was sicherer ist.

(2) Als letztes müssen Zeichenfolgen verwendet werden Abfragebedingungen neu definieren, Vorverarbeitungsmechanismus verwenden

(3) Datenfeldtypüberprüfung aktivieren, Sie können die Konvertierung des Werts Datentyp erzwingen (Feldtypüberprüfung ist seit Version 3.1 obligatorisch)

(4) Verwenden Sie automatische Validierungs- und Autocomplete-Mechanismen, um benutzerdefinierte Filterung für Anwendungen durchzuführen.

(5) Verwenden Sie Feldtypprüfung, automatische Validierung und automatische Vervollständigungsmechanismen usw. um die Eingabe schädlicher Daten zu verhindern.

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

Antwort: Das Aktivieren des Debugging-Modus ist sehr einfach. Sie müssen lediglich eine Zeile Konstantendefinitionscode hinzufügen Eintragsdatei:

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

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

Protokollierung aktivieren Fehlermeldungen und Debugging-Informationen werden detailliert aufgezeichnet, um das Debuggen zu erleichtern.

Deaktivieren Sie den Vorlagencache. Vorlagenänderungen können sofort wirksam werden.

Zeichnen Sie SQL-Protokolle auf, um das Debuggen zu erleichtern SQL-Analyse;

Deaktivieren Sie das Feld-Caching, und Änderungen an Datentabellenfeldern werden vom Caching nicht beeinflusst.

Überprüfen Sie die Datei-Groß- und Kleinschreibung (auch auf Windows-Plattformen), um Probleme bei der Linux-Bereitstellung zu erkennen Advance;

kann bequem verwendet werden. Verschiedene Anwendungsmodi können unabhängige Projektkonfigurationsdateien für verschiedene Phasen des Entwicklungsprozesses konfigurieren, einschließlich Entwicklung, Test, Demonstration und alle anderen erforderlichen Situationen.


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

答:ThinkPHP支持四种URL模式,可以通过设置URL_MODEL参数来定义,包括普通模式、PATHINFO、REWRITE和兼容模式。

默认模式为:PATHINFO模式,设置URL_MODEL 为1

7、TP中系统变量有哪些?如何获取系统变量?

答:获取系统变量的方法:

只需要在Action中调用下面方法:

$this->方法名("变量名",["过滤方法"],["默认值"])

8、ThinkPHP框架中D函数与M函数的区别是什么?

答:M方法实例化模型无需用户为每个数据表定义模型类,D方法可以自动检测模型类,如果存在自定义的模型类,则实例化自定义模型类,如果不存在,则会自动调用M方法去实例化Model基类。同时对于已实例化过的模型,不会重复去实例化(单例模式)。

总结:

在php面试题中还有关于很多的thinkphp的题目、在这里我们就不一一列举出来了,这给大家介绍的是在面试中比较常被问的thinkphp题目!

相关推荐:

  1. 2017最全的php面试题目及答案总结

  2. 2017招聘季:PHP面试题超强总结!

  3. 11个提问频率最高的php面试题

Das obige ist der detaillierte Inhalt vonZusammenfassung der Thinkphp-Fragen in PHP-Interviewfragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn