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änderungenDie 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
NamenskonventionVerzeichnis- 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).
FunktionDas 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 'hello,thinkphp!'; } }
namespace app\index\controller;class Index { public function index() { return 'hello,thinkphp!'; } }
3.2-Version-Controller-Benennung
IndexController.class.phpBenennung 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('index/hello');
return view('index/hello');
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.2M('User')->where(['name'=>'thinkphp'])->find();
db('User')->where('name','thinkphp')->find();
User::get(1); User::all();User::where('id','>',10)->find();
Automatische Verifizierung
Im Vergleich zur alten Version kann es als die vorherige automatische Verifizierung verstanden werden und unterscheidet sich von der vorherigen VerifizierungDie 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 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!