Heim > PHP-Framework > Denken Sie an PHP > Der Unterschied zwischen thinkphp5 und 3

Der Unterschied zwischen thinkphp5 und 3

步履不停
Freigeben: 2019-08-08 17:58:13
Original
3658 Leute haben es durchsucht

Der Unterschied zwischen thinkphp5 und 3

Zunächst möchte ich festhalten, dass es sich bei diesem Kapitel nicht um eine Anleitung zum Upgrade alter Projekte auf 5.0 handelt, sondern für Entwickler, die Version 3.X verwenden, um sich damit vertraut zu machen und damit zu beginnen diese neue Version schneller. Gleichzeitig wird den Entwicklern auch dringend empfohlen, ihre alten Denkmuster aufzugeben, da es sich bei 5.0 um eine brandneue subversive und rekonstruierte Version handelt.

3. Wir entschuldigen uns für die falsche Anleitung, dass die Laxheit von $_GET jetzt über „param“ abgefragt werden kann Teil anfordern.

Modelländerungen

Die neue Version der Modellabfrage gibt das Standardobjekt „object“ zurück und das System fügt standardmäßig die Methode „toArray“ hinzu. Viele Entwickler verwenden „all“. ' oder 'select' 'Versuchen Sie, 'toArray' zu verwenden, um in ein Array zu konvertieren. Ich hoffe, Entwickler können das Konzept von 'object' verstehen, versuchen, 'object' zur Verwendung von Daten zu verwenden, oder die 'db'-Methode zum Betreiben verwenden Datenbank und erinnern Sie auch an diesen Teil. Für Entwickler, die „toArray“ missbrauchen, ist das Ergebnis von „all“ oder „select“ eine Array-Sammlung von Objekten, die nicht mit „toArray“ konvertiert werden kann.

Neue Versionsänderungen

Namenskonvention

Verzeichnis- und Dateinamen verwenden Kleinbuchstaben + Unterstrich ' und beginnt mit einem Kleinbuchstaben; Klassenbibliotheks- und Funktionsdateien werden einheitlich mit .php angehängt; die Dateinamen von Klassen werden in Namespaces definiert und der Pfad des Namespace stimmt mit dem Pfad der Klassenbibliotheksdatei (einschließlich Großbuchstaben) überein und Kleinbuchstaben); der Klassenname und die Dateinamen sollten konsistent sein und die Benennung in Kamelbuchstaben verwenden (der erste Buchstabe wird großgeschrieben).

Funktion

Das System Verlässt sich nicht mehr auf Funktionen, sondern bietet nur noch die Kapselung häufig verwendeter Vorgänge. Die Ein-Buchstaben-Funktion wird aufgegeben und das System lädt standardmäßig die Assistentenfunktion. Weitere Informationen finden Sie im vorherigen Kapitel „Assistentenfunktion“. 🎜>

Routing

5.0 URL-Zugriff wird nicht mehr unterstützt. Der normale URL-Modus und das Routing unterstützen keine regulären Routendefinitionen. Stattdessen werden sie alle auf Regel-Routing in Kombination mit variablen Regeln geändert (reguläre Definitionen). Die Details werden hier nicht beschrieben.

Controller

Der Namespace des Controllers wurde angepasst und es besteht keine Notwendigkeit, eine Controller-Klasse zu erben.

Der Namespace der Anwendungsklassenbibliothek ist als App (änderbar) anstelle des Modulnamens vereinheitlicht. Der Klassenname des Controllers hat standardmäßig nicht das Controller-Suffix. Sie können den Controller_suffix konfigurieren Klassensuffix; Controller-Operationsmethode Verwenden Sie die Rückgabemethode, um Daten anstelle der direkten Ausgabe zurückzugeben.

Versionsvergleich

3.2-Version-Controller-Schreibmethode

<?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller 
{    public function hello()
   {        echo &#39;hello,thinkphp!&#39;;
   }
}
Nach dem Login kopieren
5.0-Version-Controller-Schreibmethode
namespace app\index\controller;class Index 
{    public function index()
   {        return &#39;hello,thinkphp!&#39;;
   }
}
Nach dem Login kopieren

3.2-Version-Controller-Benennung

IndexController.class.php

Benennung des 5.0-Versionscontrollers

Index.php

**Korrekte Ausgabe Vorlage im Controller**

5.0-Ausgabevorlage im Controller, die Verwendung ist wie folgt:

Wenn Sie thinkController erben, können Sie Folgendes verwenden:

return $this->fetch(&#39;index/hello&#39;);
Nach dem Login kopieren

If Ihr Controller erbt nicht. Für thinkController verwenden Sie:

return view(&#39;index/hello&#39;);
Nach dem Login kopieren

Modell

Wenn Sie die Verbesserungen mit der alten Version vergleichen müssen, das Modell ist in Datenbank, Modell und Verifizierung unterteilt. Die drei Teile des Tools entsprechen der M-Methode, dem Modell und der automatischen Verifizierung. Gleichzeitig wurden sie erweitert.

Datenbank

Die Datenbankabfragefunktion von 5.0 wurde verbessert, die ursprünglich über das Modell verwendet werden musste direkt über die Db-Klasse. Der M-Funktionsaufruf kann stattdessen die db-Funktion verwenden, zum Beispiel:

Version 3.2

M(&#39;User&#39;)->where([&#39;name&#39;=>&#39;thinkphp&#39;])->find();
Nach dem Login kopieren
Version 5.0
db(&#39;User&#39;)->where(&#39;name&#39;,&#39;thinkphp&#39;)->find();
Nach dem Login kopieren

Modell

Die neue Version der Modellabfrage fügt statische Methoden hinzu, zum Beispiel:

User::get(1); 
User::all();User::where(&#39;id&#39;,&#39;>&#39;,10)->find();
Nach dem Login kopieren

Der Modellteil hat viele Funktionen erweitert, siehe „Modellkapitel“. Details.

Automatische Verifizierung

Im Vergleich zur alten Version kann es als die vorherige automatische Verifizierung verstanden werden und unterscheidet sich von der vorherigen Verifizierung

Die ThinkPHP5.0-Verifizierung verwendet eine unabhängige thinkValidate-Klasse oder einen Validator. Sie ist nicht nur auf Modelle anwendbar, sondern kann auch direkt im Controller aufgerufen werden, um spezifische Nutzungsregeln zu erhalten wird hier nicht beschrieben.

Konfigurationsdatei

Die neue Version verfügt über viele Konfigurationsparameter oder Konfigurationsebenen, die sich von der vorherigen Version unterscheiden. Es wird empfohlen, entweder eine zu verwenden Schauen Sie sich den Code an oder lesen Sie das offizielle Entwicklungshandbuch sorgfältig durch und verschwenden Sie nicht einen ganzen Tag mit Konfigurationsproblemen.

Ausnahme

5.0 hat keine Fehlertoleranz. Standardmäßig wird für jede Fehlerstufe eine Ausnahme ausgelöst. Die Ausnahmeseite wurde neu gestaltet, um detaillierte Fehlerinformationen anzuzeigen, um das Debuggen zu erleichtern.

Aufgabe von Systemkonstanten

Im Vergleich zu früheren Versionen hat Version 5.0 eine große Anzahl von Systemänderungen vorgenommen. Benutzer können dies tun Für sich, wenn sie relevante Bedürfnisse haben. finden Sie unter „Anfordern“. Weitere Informationen finden Sie unter „Ein Kapitel anfordern“.

Hinweis: Auch dieses Kapitel richtet sich nur an Entwickler, die zuvor Version 3.X verwendet haben, um 5.0 schnell zu verstehen. Die spezifischen Funktionen von 5.0 erfordern, dass Entwickler das Handbuch gründlich lesen.

Hilfsfunktion

Der Vergleich zwischen der 5.0-Hilfsfunktion und der Einzelbuchstabenfunktion von Version 3.2 ist wie folgt: C-Konfiguration E-Ausnahme

G-Debug

L lang

T abgeschafft

I-Eingabe

N abgeschafft

D-Modell

M db

A-Controller

R-Aktion

B abgeschafft

U-URL

W-Widget

S-Cache

F-Abschaffung

Weitere technische Artikel zu ThinkPHP finden Sie in der Spalte

ThinkPHP-Tutorial

lernen!

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen thinkphp5 und 3. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage