Heim  >  Artikel  >  Die neueste offizielle Version von ThinkPHP veröffentlicht – aktualisiert auf ThinkPHP5.1.28

Die neueste offizielle Version von ThinkPHP veröffentlicht – aktualisiert auf ThinkPHP5.1.28

不言
不言nach vorne
2018-10-29 10:46:037087Durchsuche

ThinkPHP, das beliebteste PHP-Framework, hat sein neuestes Update am 29. Oktober 2018 erhalten. Im Folgenden sind die Hauptinhalte des ThinkPHP-Updates aufgeführt.

Diese Version behebt hauptsächlich einige Probleme der vorherigen Version und verbessert den zugehörigen Abfrageteil. Unterstützt nahtloses Upgrade von der Vorgängerversion!

Hauptaktualisierung

Die Felder der Aggregationsabfragemethode unterstützen DISTINCT

Korrigieren Sie anschließend die Portunterstützung der URL-Funktion Definieren der Route

Korrektur der Controller-Middleware-Unterstützung für Swoole

Verbesserung der Speichermethode der Protokollklasse

Verbesserung der Abschlussüberprüfungsparameter der Verifizierungsklasse

Viele- Zu-Viele-Assoziation unterstützt Spezifikation Der Name der Zwischentabellendaten

Assoziative Aggregationsabfrage unterstützt Abschlussmethode zum Angeben von Aggregationsfeldern

Verbesserte Lang-Klassen-Get-Methode

Viele-zu- Viele Assoziationen fügen eine Methode hinzu, um zu bestimmen, ob verwandte Daten vorhanden sind.

Verbesserung der Verwendung von fetchsql für verwandte Abfragen.

Verbesserung der Beurteilung, ob der Modifikator ausgeführt wurde.

Nachher hinzufügenMit und VorherMit Validierungsregeln zum Vergleichen von Datumsfeldern

Neue Versionsfunktionen

Verbesserungen der Controller-Middleware

Seitdem In Swoole und anderen Modi befindet sich die Klassenbibliothek im Speicher, die Steuerung Die Controller-Middleware wird beim zweiten Mal nicht ausgeführt, und jetzt ist der Ausführungsprozess der Controller-Middleware nicht mehr in der Architekturfunktion enthalten.

Modellverbesserungen

Die Beurteilungslogik, ob der Modifikator ausgeführt wird, wurde verbessert. Wenn die Modifikatormethode nicht definiert ist, sind mehrere Zuweisungen zu Modelldaten zulässig. Auf diese Weise können Daten in Modellereignissen einfach geändert werden.

Das Feld der Aggregationsabfrage unterstützt die Verwendung von DISTINCT, zum Beispiel:

User::count('DISTINCT id');

Wenn die Assoziationsaggregationsabfrage den Abschluss verwendet, unterstützt sie die Angabe des Aggregationsfelds

User::withCount(['book' => function($query){
    // 统计今年出版的书的数量 并且使用books_num作为统计字段返回
    $query->whereTime('publish_time', 'y');
    return 'books_num';
})->select();

Für viele -zu-viele-Assoziation, Sie können auch die folgende Verwendung

use think\Model;
class User extends Model{
    public function roles()
    {
        // 使用pivotDataName方法指定中间表的数据对象名称
        return $this->belongsToMany('role')
            ->pivotDataName('userRole');
    }
}
rrree

unterstützen und auch den Fehler beheben, der verursacht wird, wenn die fetchSql-Methode in verwandten Abfragen verwendet wird.

Verbesserungen bei Validierungsregeln

Wenn Abschlüsse in Validierungsregeln verwendet werden, können Sie jetzt zusätzliche Parameter hinzufügen, darunter

$user =  User::get(1);
$role =  Role::getByName('editor');
// 判断关联数据是否存在 如果存在则返回中间表对象
$pivot = $user->roles()->attached($role);

Außerdem beforeWith und afterMit zwei Validierungsregeln zum Vergleichen von Daten aus mehreren Datumsfeldern.

// 新增的参数包括title(规则标题)和validate(当前验证对象)
function($value, $data, $title, $validate) {}

Erweiterungsupdate

Dieses Update enthält auch Updates für einige offizielle Erweiterungen:

SeasLog-Protokollerweiterung think -seaslog hinzugefügt ;

Swoole-Erweiterung auf Version 2.0.14 aktualisiert;

Verwandte Kursempfehlungen:

Das neueste ThinkPHP 5.1-Weltpremieren-Video-Tutorial (60 Tage, um ein PHP-Experten-Online-Schulungskurs zu werden)

Dugu Jiujian (5)_ThinkPHP5-Video-Tutorial

ThinkPHP grundlegendes praktisches Video-Tutorial

thinkphp3.2 grundlegendes Video-Tutorial

Stellungnahme:
Dieser Artikel ist reproduziert unter:ThinkPHP微信公众号. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen