Heim Backend-Entwicklung PHP-Tutorial QueryPHP V1-beta.5 verbessert das ORM-Designerlebnis

QueryPHP V1-beta.5 verbessert das ORM-Designerlebnis

Sep 16, 2019 am 11:17 AM

QueryPHP v1.0.0-beta.5, diese Version verbessert hauptsächlich ORM und optimiert viele Details.

Über QueryPHP

QueryPHP ist ein modernes, leistungsstarkes PHP-Progressive-Coroutine-Framework. Wir orientieren uns immer noch hauptsächlich an traditionellen PHP-FPM-Szenarien und konzentrieren uns auf die Benutzererfahrung von Ingenieuren Die historische Mission besteht darin, jeder PHP-Anwendung ein gutes Framework bereitzustellen.

100 % Unit-Test-Abdeckung, um Fehler direkt zu bekämpfen, basierend auf Zephir, um den Kern des Frameworks zu implementieren, und auf Swoole-Coroutine zurückgreifen, um die Geschäftsleistung zu verbessern, die sich in Zukunft schrittweise verbessern wird. Unsere Vision ist es, LEEVEL MIT SWOOLE BESSER ZU VERWENDEN, damit Ihr Unternehmen mehr Benutzerdienste unterstützen kann.

https://github.com/hunzhiwange/queryphp

https://gitee.com/dyhb/queryphp

https://www.queryphp.com

Protokoll aktualisieren

[Framework] Teilen Sie den zugrunde liegenden Redis-Dienst auf und registrieren Sie ihn beim IOC Container können Sie ganz einfach

[Framework] verwenden, um Ihre eigenen DD- und Dump-Debugging-Funktionen zu löschen, und Sie müssen dies nicht mehr tun.

[Framework] Entfernen Sie die globale Funktion app und die hl-Hilfsfunktion und verwenden Sie den statischen Proxy, um App (alias Leevel) zu implementieren. App kann auf die Methode App::make ( ') zugreifen. Anfrage').

[Framework] Löschen Sie alle Schnittstellendesigns im Proxy LeevelKernelProxyIApp, löschen Sie den Proxy in der Komponente und verwenden Sie @method, um den IDE-Helfer zu implementieren, und bauen Sie ein Tool ein, um einen solchen Befehl automatisch zu generieren.

[Framework] Optimieren Sie den Swoole-Hot-Reload-Code, um das Testen zu erleichtern.

[Framework] Verbessern Sie die Systemausnahmebehandlungskomponente, ändern Sie die integrierten Ausnahmen des Systems in abstrakt, um die Vererbung der Geschäftsschicht zu erleichtern und Ausnahmen besser behandeln zu können, fügen Sie eine Geschäftsverarbeitungsausnahme LeevelKernelExceptionBusinessException hinzu, und die Ausnahmeantwort wird ebenfalls erstellt durch Middleware verarbeitet.

[Framework] Der Kernel und das Routing unterstützen die Verarbeitung von CORS-Optionsanforderungen, indem sie benutzerdefinierte Middleware verwenden, um domänenübergreifende Zugriffsprobleme einfach zu lösen, die Routing-Bindungs-Analysemethode aufzuteilen und den Code klarer zu machen.

[Framework] Assoziationsmodell, verbessert die spezielle Verarbeitung von ORM-Assoziationsabfragequellenwerten, die leer sind, führt keine nachfolgenden Abfragen mehr aus, reduziert Datenbankabfragen und behebt den Fehler, dass verschachtelte Assoziations-Vorladeabfragen nicht ausgeführt werden.

[Framework] Fügen Sie einen statischen Zugriff auf jede Hilfsfunktion der Komponente hinzu und teilen Sie jede Kumite-Funktion in eine separate Datei auf, um einen einfachen f-Aufruf zu ermöglichen.

[Framework] Fügen Sie weitere konstante Entitäten wie CONSTRUCT_PROP_WHITE, MIDDLE_SOURCE_KEY hinzu, um die Hartcodierung einiger vereinbarter Namen von Entitäten zu vermeiden.

[Framework] Verbesserte Datenbank-PDO-Abfrage. Wenn es sich um eine Zahl handelt, wird eine Zahl anstelle aller Zeichenfolgen zurückgegeben.

[Framework] Query fügt Unterstützung für where ('foo', '=', null) hinzu, um sehr spezielle Szenarien zu behandeln. In der Vergangenheit wurden Fehler direkt gemeldet.

[Framework] Verbessern Sie das Design der Entität LeevelDatabaseDddEntity toArray, jetzt wird Null automatisch ignoriert.

[Framework] Verbessern Sie das Design im Zusammenhang mit der Entitätseigenschaft LeevelDatabaseDddEntity und greifen Sie mit withProps, withProp, hasProp, prop darauf zu.

[Framework] Verbessern Sie das Design im Zusammenhang mit dem weichen Löschen von Entitäten LeevelDatabaseDddEntity Sobald eine Entität mit const DELETE_AT definiert ist, führt die Systemabfrage und -löschung automatisch ein weiches Löschen durch. Sie können auch Daten mit weichem Löschen über withSoftDeleted abfragen forceDelete, um das Löschen zu erzwingen.

[Framework] Verbesserte Entitätsabfrage entität find ($id) in LeevelDatabaseDddEntity zu findEntity ($id), was leichter zu verstehen ist. Ausnahmen können Konflikte mit der Verwendung von find()-Abfragen vermeiden.

【Framework】Reparieren Sie die Verbindung zum Redis-Verbindungspool und der PHPRedis-Treiber unterstützt die erneute Verbindung.

[Framework] Der Validator konvertiert automatisch die Verifizierungsparameter not_between:1,5 in int und float, sodass das Framework die Gesamtrichtung der einheitlichen starken Typprüfung erreichen kann. LeevelValidateUniqueRule erkennt int und automatisch Float, um die Konvertierung von Datenbankabfragen anstelle der Indizierung zu vermeiden, wirkt sich negativ auf die Leistung aus.

[Framework] Verbessern Sie das Abfragedesign der Entität LeevelDatabaseDddEntity, entfernen Sie die magische Abfragemethode, __call und ___callStatic werden blockiert, alle Abfragen müssen die statische Eintragsauswahl durchlaufen (Aliassuche, beibehalten, um den QeePHP-Gewohnheiten Rechnung zu tragen) , Meta (reserviert, um QeePHP zu würdigen) Gewohnheit) initiiert, gepaart mit IDE-Helper-Unterstützung, unterstützt IDE perfekt.

[Framework] Das LeevelDatabaseDddEntity-Schnittbibliotheksdesign für die Entitätsverbindung wurde verbessert. Jede Entität implementiert „withConnect“ und „Connect“ für sich selbst, ist aktueller und kontrollierbarer und bietet eine Schnittbibliothekssicherheit für die Sandbox connectSandbox.

[Framework] Verwenden Sie PDOStatement->debugDumpParams (), um die endgültige SQL abzurufen, und schreiben Sie gleichzeitig die SQL in das Protokoll in der Debug-Komponente, um die Entwicklung und das Debuggen zu erleichtern.

[Framework] Die Transaktionsarbeitseinheit LeevelDatabaseDddUnitOfWork fügt Unterstützung für weiches Löschen und starkes Löschen hinzu und umfasst auch die Anpassung des Warehousing LeevelDatabaseDddRepository.

[Framework] Korrigieren und löschen Sie die geleerte Funktion in Entitäten und Repositorys, die bereits Daten aktualisiert haben. Dies ist nicht erforderlich.

[Tests] Mehr als 10 Swoole-bezogene Testfälle und andere, mehr als 3080 Unit-Tests und über 10000 Behauptungen hinzugefügt.

[Anwendung] QueryPHP selbst ist ein Standard-Backend auf Basis von IViewUI, mit eigenem ressourcenbasierten Berechtigungssystem. Aufgrund zahlreicher Anpassungen am Framework wurde das Backend entsprechend angepasst, um die Bedienung zu erleichtern.

【Anwendung】QueryPHP selbst führt hauptsächlich Workflows ein, um Quarkvorgänge zu verbessern und Abfragen in Dienste zu integrieren.

RoadMap

[Framework] Beta 4-6 bietet hauptsächlich perfekte Unterstützung für die neueste Version der Swoole 4-Coroutine.

[Framework] Die RC-Version friert geplante Funktionen ein und behebt nur Fehler, Unit-Tests und verbessert die Dokumentation.

[Framework] Die offizielle Version von v1.0.0 wird nach der PHP 7.4-Version https://wiki.php.net/todo/php74 veröffentlicht und ist für die Veröffentlichung im Jahr 2019.12 geplant.

Kontakt

https://www.queryphp.com

Helfen Sie uns

QueryPHP wurde im Oktober 2016 entwickelt basierend auf dem DoYouHaoBaby-Framework, einem frühen PHP-Framework, das ich im Juli 2010 gestartet habe.

Wenn Sie es für möglich halten, können Sie es einem Freund empfehlen, es auszuprobieren und ihm zu folgen. Ich hoffe, dass ich interessierte Leute dazu anziehe, gemeinsam zu entwickeln. Das Dokument ist relativ einfach zu automatisieren, basierend auf Unit-Tests und Kommentaren.

Das obige ist der detaillierte Inhalt vonQueryPHP V1-beta.5 verbessert das ORM-Designerlebnis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Arbeiten mit Flash -Sitzungsdaten in Laravel Arbeiten mit Flash -Sitzungsdaten in Laravel Mar 12, 2025 pm 05:08 PM

Laravel vereinfacht die Behandlung von temporären Sitzungsdaten mithilfe seiner intuitiven Flash -Methoden. Dies ist perfekt zum Anzeigen von kurzen Nachrichten, Warnungen oder Benachrichtigungen in Ihrer Anwendung. Die Daten bestehen nur für die nachfolgende Anfrage standardmäßig: $ Anfrage-

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs Mar 14, 2025 am 11:42 AM

Die PHP Client -URL -Erweiterung (CURL) ist ein leistungsstarkes Tool für Entwickler, das eine nahtlose Interaktion mit Remote -Servern und REST -APIs ermöglicht. Durch die Nutzung von Libcurl, einer angesehenen Bibliothek mit Multi-Protokoll-Dateien, erleichtert PHP Curl effiziente Execu

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests Mar 12, 2025 pm 05:09 PM

Laravel bietet eine kurze HTTP -Antwortsimulationssyntax und vereinfache HTTP -Interaktionstests. Dieser Ansatz reduziert die Code -Redundanz erheblich, während Ihre Testsimulation intuitiver wird. Die grundlegende Implementierung bietet eine Vielzahl von Verknüpfungen zum Antworttyp: Verwenden Sie Illuminate \ Support \ facades \ http; Http :: fake ([ 'Google.com' => 'Hallo Welt',, 'github.com' => ['foo' => 'bar'], 'Forge.laravel.com' =>

12 Beste PHP -Chat -Skripte auf Codecanyon 12 Beste PHP -Chat -Skripte auf Codecanyon Mar 13, 2025 pm 12:08 PM

Möchten Sie den dringlichsten Problemen Ihrer Kunden in Echtzeit und Sofortlösungen anbieten? Mit Live-Chat können Sie Echtzeitgespräche mit Kunden führen und ihre Probleme sofort lösen. Sie ermöglichen es Ihnen, Ihrem Brauch einen schnelleren Service zu bieten

Erklären Sie das Konzept der späten statischen Bindung in PHP. Erklären Sie das Konzept der späten statischen Bindung in PHP. Mar 21, 2025 pm 01:33 PM

In Artikel wird die in PHP 5.3 eingeführte LSB -Bindung (LSB) erörtert, die die Laufzeitauflösung der statischen Methode ermöglicht, um eine flexiblere Vererbung zu erfordern. Die praktischen Anwendungen und potenziellen Perfo von LSB

Anpassung/Erweiterung von Frameworks: So fügen Sie benutzerdefinierte Funktionen hinzu. Anpassung/Erweiterung von Frameworks: So fügen Sie benutzerdefinierte Funktionen hinzu. Mar 28, 2025 pm 05:12 PM

In dem Artikel werden Frameworks hinzugefügt, das sich auf das Verständnis der Architektur, das Identifizieren von Erweiterungspunkten und Best Practices für die Integration und Debuggierung hinzufügen.

Wie sende ich eine Postanforderung mit JSON -Daten mithilfe der Curl -Bibliothek von PHP? Wie sende ich eine Postanforderung mit JSON -Daten mithilfe der Curl -Bibliothek von PHP? Apr 01, 2025 pm 03:12 PM

Senden von JSON -Daten mithilfe der Curl -Bibliothek von PHP in der PHP -Entwicklung müssen häufig mit externen APIs interagieren. Eine der gängigen Möglichkeiten besteht darin, die Curl Library zu verwenden, um Post � ...

See all articles