Heim > Artikel > Backend-Entwicklung > Der Unterschied zwischen tp5 und tp3
TP5 hat große Änderungen vorgenommen, ist flexibler, weniger aufgebläht und hat einige aufregende Funktionen wie PHP7, Unittest usw. hinzugefügt. Allerdings müssen möglicherweise viele unter TP3 entwickelte Gewohnheiten in TP5 geändert werden.
1 Änderungen im Routing
Route definiert in tp3
Java-Code
'URL_ROUTE_RULES' => array( //Routing-Regeln definieren
'/^password(/)*$/' => '/Admin/Auth/password',
),
Verwenden Sie http so : //xx.com/password und http://xx.com/Admin/Auth/password
können beide auf dieselbe Adresse zugreifen http://xx.com/Admin/Auth/password
Dies ist in tp5 nicht möglich, siehe Route.php Zeile 1251
Java-Code
if (isset(self::$rules['name'][$name]) | |. isset(self::$rules['name'][$name2])) { ) >Java-Code
'password' => Passwort', ['method'=>'get']],
Verwendung Der konfigurierte Routing-Zugriff ist normal, es wird jedoch nicht zu admin/auth/password
gesprungen http://xxx/password
Beim Zugriff mit http://xxx/admin/auth/password
Illegal request: admin/auth/password
$route = [$module, $action]; äh ($module . '/' . Loader::parseName($controller, 1) . '/' . $action
}
if (isset(self::$rules['name'][$name]) || isset(self::$rules['name'] [$name2])) { <.>
werfen => $route]; }2 Such-, Auswahl- und andere Methoden des Modells Was zurückgegeben wird, ist das Modellobjekt, nicht die Daten. Sie können getData() verwenden, um die Originaldaten abzurufen. Es wird empfohlen, Methoden im Modell zu definieren, um db() zum Abfragen von Daten zu verwenden, und die Methode dann dem Controller für Aufrufe zur Verfügung zu stellen. 3 Wenn Sie Model()->save(); verwenden, um Daten in foreach hinzuzufügen, müssen Sie ->isUpdate(false) hinzufügen. Andernfalls wird nur das erste eingefügt und die anderen werden zu Updates. Dies ist wahrscheinlich ein Fehler.