ThinkPHP5.0-Upgrade 5.1 vollständiger Datensatz
Thinkphp5-Upgrade-Schritte
und in App aufgeteilt .php, Cache.php und andere unabhängige Konfigurationsdateien, die Liste der Standardkonfigurationsdateien des Systems lautet wie folgt:
Da das Projekt mit tp5.1 entwickelt wurde, habe ich online ein gutes Mall-System gefunden, das jedoch entwickelt wurde mit 5.0, also wurde das 5 Mall auf 5.1 aufgewertet. Sie bergen viele Fallstricke und werden hier zum Nutzen zukünftiger Generationen aufgezeichnet.
1. Das erste ist die Fassade.
5.0 hat dieses Ding nicht. 5.1 neue Fassade. Muss mit dem entsprechenden verwendeten übereinstimmen. Die entsprechende Tabelle lautet wie folgt:
2. Anpassung der Konfigurationsdatei
Die ursprüngliche Konfigurationsdatei config.php wird aus dem verschoben Anwendungsverzeichnis bis Das Konfigurationsverzeichnis auf derselben Ebene wie das Anwendungsverzeichnis ist in unabhängige Konfigurationsdateien wie app.php und Cache.php unterteilt. Die Liste der Standardkonfigurationsdateien des Systems lautet wie folgt:
Stattdessen werden alle ursprünglichen Konfigurationen der ersten Ebene unabhängig voneinander in einer Konfigurationsdatei getrennt.
Die Konfigurationsdateien im ursprünglichen Anwendungsextraverzeichnis werden direkt in das Konfigurationsverzeichnis verschoben.
Verschieben Sie die ursprüngliche Modulkonfigurationsdatei (einschließlich der im zusätzlichen Verzeichnis) direkt in das Konfigurationsverzeichnis unter dem Modul und beziehen Sie sich dann zur Anpassung auf die obige Anwendungskonfigurationsdatei.
Die Konfigurationsdateien von 5.1 übernehmen alle die sekundäre Konfigurationsmethode. Alle Parameter ohne den Konfigurationsnamen der ersten Ebene werden als sekundäre Konfiguration der App verwendet. Beispielsweise ist
config('app_debug');
gleichwertig bis
config('app.app_debug');
3. Konstante Anpassung
5.1 löscht alle im Framework integrierten Konstanten (betrifft keine benutzerdefinierten Konstanten im Anwendungscode, wenn Sie diese benötigen). Bitte verwenden Sie die integrierten Methoden der thinkacadeApp-Klasse und der thinkacadeEnv-Klassenerfassung. Nachfolgend finden Sie die konstante Vergleichstabelle zwischen 5.0 und 5.1:
4. Modellanpassung
Die Datensatzabfrage des Modells gibt immer das Datensatzobjekt statt Dann gibt es das Array
Wenn der Primärschlüssel der Datentabelle des Modells nicht id ist, muss das pk-Attribut des Modells festgelegt werden.
Die Einführung des Soft-Delete-Merkmals wurde geändert, um thinkmodelconcernSoftDelete zu verwenden.
Globale Abfrage. Es besteht keine Notwendigkeit, Soft-Delete-Bedingungen in der Scope-Basismethode hinzuzufügen Die Funktion wird abgeschafft und durch das zugehörige Modell mit der zugehörigen automatischen Schreibfunktion ersetzt.
Der Abfragebereich des Modells muss erst aufgerufen werden, nachdem die Bereichsmethode aufgerufen wurde Methode der Datenbank;
Beenden Sie die Datenüberprüfungsfunktion des Modells. Bitte verwenden Sie stattdessen die Controller-Überprüfung oder Routenüberprüfung.
Achten Sie unbedingt auf diese Modellanpassung. Zum Beispiel der Primärschlüssel im zweiten Punkt. Das Mall-System verwendet eine große Anzahl von Assoziationsmodellen, unabhängig vom Namen des Primärschlüssels in der 5.0-Ära. In 5.1 muss jedoch die ID verwendet werden pk=user_id, um den Primärschlüsselnamen anzugeben, andernfalls wird die Meldung „Der Fehler „Modellattribut existiert nicht““ hat mich 2 Stunden lang beunruhigt.
5. Controller-Anpassung_initialize-Methode geändert in initialize (es hat mich eine Stunde lang getäuscht, jeder, der kein gutes Sehvermögen hat, wird getäuscht)
6. Vergessen Sie nicht den letzten Schritt: Löschen Sie alle Dateien im Cache-Verzeichnis
7. Für andere Angelegenheiten wird empfohlen, die TP5.1-Dokumentation im Detail zu lesen und keinen zu verpassen Wort.
Empfohlenes Lernen:
thinkphp5Das obige ist der detaillierte Inhalt vonthinkphp5-Upgrade-Schritte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!