Heim Backend-Entwicklung PHP-Tutorial Wann wurde ThinkPHP5 veröffentlicht?

Wann wurde ThinkPHP5 veröffentlicht?

May 11, 2019 pm 04:01 PM
thinkphp5

ThinkPHP5.0 Beta wurde am 11. Dezember 2015 veröffentlicht und die Vollversion von ThinkPHP5.0.5 wurde am 27. Februar 2017 veröffentlicht. ThinkPHP ist ein kostenloses, quelloffenes, schnelles, einfaches, objektorientiertes und leichtes PHP-Entwicklungsframework.

Wann wurde ThinkPHP5 veröffentlicht?

Die Betriebsumgebung dieses Artikels: Windows 7-System, ThinkPHP5-Version, DELL G3-Computer

ThinkPHP5.0 Beta war in Die Vollversion von ThinkPHP5.0.5 wurde am 11. Dezember 2015 veröffentlicht und am 27. Februar 2017 veröffentlicht.

[Funktionen]

Zu den Hauptfunktionen gehören:

-------------------------------- - -------------------------------------------------

Spezifikationen: Einhaltung der PSR-2- und PSR-4-Spezifikationen, Composer- und Unit-Testing-Unterstützung

Strenge: Außergewöhnlich strenge Fehlererkennungs- und Sicherheitsmechanismen, detaillierte Protokollinformationen zum Schutz Ihrer Entwicklung; >

Flexibel: Reduzieren Sie Kernabhängigkeiten, machen Sie die Erweiterung flexibler und bequemer und unterstützen Sie die Erweiterung von Befehlszeilenanweisungen

API-freundlich: Hervorragende Leistung und REST-Unterstützung, Remote-Debugging und bessere Unterstützung für die API-Entwicklung;

Effizient: Lazy Loading und Caching-Mechanismus für Routing, Konfiguration und automatisches Laden

ORM: rekonstruierte Datenbank, Modell und Zuordnung, unterstützt von MongoDb; --- -------------------------------- --- ------

Benutzer, die ThinkPHP5 unterstützen, gehen bitte zu Github und geben uns einen „Stern“ ^_^

Verwandte Empfehlungen:

Das Neueste 10 thinkphp-Video-Tutorials


Im Vergleich zur RC4-Version sind die Aktualisierungen wie folgt:

[Anfrage und Routing]

Anforderungsobjekt unterstützt dynamische Bindungseigenschaften

Der Zugriff auf die ursprüngliche Adresse der URL, die die Routing-Regel definiert, ist verboten

Verbesserung der Routing-Regel-Speicherstruktur

Die Routing-Gruppierungsfunktion wurde verbessert, Unterstützung verschachtelter und virtueller Gruppierungen

Routing-URL ist eine effiziente Anti-Erklärung

Verbessern Sie die Parametermethode des Anforderungsobjekts, um die Priorität zu erhalten

Fügen Sie die Namensmethode zur Route hinzu, um sie festzulegen und Holen Sie sich die Routenidentifikation

Fügen Sie die MISS- und AUTO-Routing-Regeln hinzu

Route Die Klasse fügt die Auto-Methode hinzu, um die Registrierung einer Route zu unterstützen, die URLs automatisch analysiert

Routing-Regeln unterstützen die Modellbindung

Routenvariablen werden einheitlich mit der param-Methode erhalten

Routing-Regel-Identifizierungsfunktion und automatische Identifizierung

Fügen Sie die Anweisung „Routen-Cache generieren“ „optimum:route“ hinzu

Hinzufügen die Route-Methode zum Request-Objekt, um die Routenvariable separat abzurufen

Der Parameter get post put request delete server cookie env-Methode des Request-Objekts Wenn ein Parameter als falsch übergeben wird, bedeutet dies, dass die Originaldaten vorhanden sind ohne Filterung erhalten

Verbesserte automatische Generierung der Routing-Identifikation zur Unterstützung verschiedener Routing-Regeln, die auf dieselbe Routing-Identifikation verweisen, verbesserte automatische URL-Generierung zur Unterstützung der Routing-Identifikation

Verbesserung der Initialisierung des Filterattributs der Anfrage Klasse

Verbessern Sie die isAjax- und isPjax-Methoden der Request-Klasse

Fügen Sie die Token-Methode zur Request-Klasse hinzu

Die Routing-Konfigurationsdatei unterstützt mehrere Konfigurationsparameter mithilfe von route_config_file

Domänennamenbindung unterstützt https-Erkennung

Verbesserung der Domänennamenbindung zur Unterstützung der gleichzeitigen Bindung von Modulen und anderen Routing-Regeln, die die Bindung an Array-Definitionen unterstützen, Aufhebung der Domänennamenbindung an Gruppen

Routing-Regeln Unterstützung für PATCH-Anforderungstypen hinzufügen

Konfigurationsparameter „route_complete_match“ hinzufügen, um die globale Routing-Regeldefinition festzulegen. Ob vollständiges Matching verwendet werden soll, kann durch den Parameter „complete_match“ von Routing-Regeln überschrieben werden

Verbessern Sie die Suffixparameteridentifikation von Routing vor den pseudostatischen Suffixparametern des Systems

Die URL-Klasse fügt eine Root-Methode zur Angabe der aktuellen Root-Adresse (ohne Domänennamen) hinzu

Verbessert die Unterstützung für optionale Parameter bei der URL-Generierung

[ Datenbank]

Automatische Parameterbindung der Abfragebedingung

Verbesserte Paging-Methode zur Unterstützung der Parameterbindung

Die Cache-Methode der Query-Klasse fügt Cache-Tag-Parameter hinzu

Abfrageklasse Die Aktualisierungs- und Löschmethoden unterstützen den Aufruf der Cache-Methode, die den Cache des angegebenen Schlüssels automatisch löscht. Verwenden Sie sie zusammen mit der Cache-Methode der Abfragemethode

Verbessern Sie die verzögerte Schreibmethode von die Query-Klasse

Die Spalte und der Wert der Query-Klassenmethode unterstützen fetchsql

Datumsabfragemethode verbessern

Unterstützung für die gespeicherte Prozedurmethode exec verbessern

Verbessern getLastInsID-Methode der Connection-Klasse zum Abrufen

Datenbankverbindungsprotokoll aufzeichnen (Verbindungszeit und DSN)

Bewertung der Rückgabeergebnismenge der Auswahlmethode der Query-Klasse verbessern

Hinzufügen die getNumRows-Methode zur Connection-Klasse

Rückgabewert der Datenbanktransaktionsmethode abbrechen

Erfassung von Primärschlüsseln durch die Chunk-Methode der Query-Klasse verbessern

Verbessern Sie die Problem der Builder-Methode der Query-Klasse, wenn der Datenbanktreibertyp den vollständigen Namespace verwendet

[Modell]

Soft-Delete-Funktion hinzugefügt

Zugehörige Modell- und Vorladeverbesserungen

Zugehöriger vorab geladener Abfrageabschluss unterstützt kohärentere Vorgänge

Verbesserte Savell-Methode zur Unterstützung von Aktualisierung und Überprüfung

Beziehungsdefinitionen geben einheitlich die Relation-Klasse zurück

Die Methoden has und hasWhere der Model-Klasse unterstützt Join-Typen

Die Datenmethode der Model-Klasse löscht die Originaldaten, wenn Daten in Stapeln zugewiesen werden

Wenn der dritte Parameter der Get-Methode der Model-Klasse übergeben wird wahr, der Cache wird automatisch aktualisiert

Modellklasse fügt schreibgeschützte Feldunterstützung hinzu

Modellklasse fügt useGlobalScope-Methode hinzu, um festzulegen, ob sie aktiviert ist. Globaler Abfragebereich

Die Basis Die Methode der Model-Klasse wird in eine statische Definition geändert, die für mehrere globale Aufrufe gültig ist

Die Model-Klasse unterstützt das Festlegen von Primärschlüsseln, Feldinformationen und Feldtypen und ist nicht auf die automatische Erfassung angewiesen, was die Leistung verbessert

Die Datenmethode der Model-Klasse unterstützt Modifikatoren

Verbessern Sie die Unterstützung der Relationsklasse für nicht numerische Primärschlüssel.

Verbessern Sie die Eins-zu-viele-Löschung der Relationsklasse.

Korrigieren Sie die Eins-zu-viele-Assoziations-Preload-Abfrage von die Relation-Klasse

[Protokoll und Cache]

Unterstützt separate Speicherung von Protokolltypen

Protokoll ermöglicht das Festlegen der Datensatzebene

Cache-Tag-Funktion hinzufügen

Pull-Methode zur Cache-Klasse hinzufügen Zum Abrufen und Löschen

Tag-Parameter zur Cache-Hilfsfunktion hinzufügen

Protokollinformationen vereinfachen und Datenbankkennwort ausblenden

Bibliotheksauswahllogik hinzufügen für Cache-/Sitzungs-Redis-Treiber;

Die Konfigurationsparameter des Memcached-Treibers unterstützen den Optionsparameter

Der Protokolldatensatz im Debug-Modus erhöht die Header- und Parameterparameterdatensätze der Seite

Der Memcached-Cache-Treiber fügt den Kennwortparameter für das Verbindungskonto hinzu

Cache-Unterstützung für die Einstellung komplexer Typen. Unterstützt die Konfiguration mehrerer Caches und den Wechsel mit Store.

Cache-Klasse fügt Tag-Methode für die Cache-Tag-Einstellung hinzu. Die Clear-Methode unterstützt das Löschen Daten eines bestimmten Cache-Tags

Dateityp-Protokolltreiber unterstützt die Einstellung Separate Dateien zeichnen unterschiedliche Protokollebenen auf

Dateicache und Protokollspeicherung verbessern Benennungskonvention für Dateinamen

Inc und dec hinzufügen Methoden zur Cache-Klasse, um Inkrementierungs- und Dekrementierungsoperationen für numerische Daten bereitzustellen

Cache-Klasse fügt eine Methode und eine Get-Methode hinzu, um Standardwerte zu unterstützen

[Andere]

View-Klasse unterstützt Festlegen der Parameter der Vorlagen-Engine

Formular-Token-Generierung und -Verifizierung hinzufügen

Chinesische Verifizierungsregeln hinzufügen

Bild- und dateibezogene Verifizierungsregeln hinzufügen

Redirect Response-Objekt unterstützt implizit Parameterübergabe mit Methode

Automatische Initialisierung der Sitzungsklasse verbessern

Sitzungsklasse fügt Pull-Methode zum Abrufen und Löschen hinzu

Env-Klasse zum Abrufen von Umgebungsvariablen hinzufügen

Anforderungsklasse get/post/put usw. Die param-Methode bleibt nach Änderung der Zuweisung erhalten. Effektiv

Unterstützung für Sprungadressen verbessern. URL::build-Parsing.

Hook-Klasse optimieren.

App-Debug Modus- und Seitentrace-Unterstützung für Umgebungsvariableneinstellungen

config Die Hilfsfunktion unterstützt die Verwendung von config('?name')

Unterstützt das Binden von Modulen mithilfe der BIND_MODULE-Konstante

Die Eintragsdatei automatisch bindet die Modulfunktion

Verbesserte Überprüfungsausnahmeklasse Fehlermeldung und Vorlagenausgabe, unterstützt das Auslösen von Batch-Überprüfungsfehlermeldungen

Konsole verbessern und einige gängige Ausgabemethoden hinzufügen

Token hinzufügen Hilfsfunktion zum schnellen Anzeigen von Tokens auf der Seite

Fügen Sie eine Stopp-Methode für das Debuggen von Variablen und die Interrupt-Ausgabe hinzu

Verbessern Sie die Zahlenüberprüfungsregeln der Validate-Klasse und unterscheiden Sie sie von Ganzzahlen

optimize:autoload Scannen des erweiterten Erweiterungsverzeichnisses hinzufügen

Die booleschen Validierungsregeln der Validate-Klasse verbessern, um Formulardaten zu unterstützen

Die Cookie-Assistent-Funktion verbessern, um die Bestimmung zu unterstützen, ob ein Cookie-Wert vorhanden ist

Verbessern Sie die Abbruchassistentenfunktion, um das Auslösen von HttpResponseException zu unterstützen

Verbessern Sie die Dateiklasse und fügen Sie die Behandlung von Upload-Fehlern hinzu

Verbessern Sie das Rückgabeobjekt der Verschiebungsmethode der Dateiklasse, fügen Sie ein Upload-Formular hinzu Informationen und fügen Sie eine Methode hinzu, um den Datei-Hash-Wert zu erhalten

Verbessern Sie die Rückgabe der Verschiebungsmethode der Dateiklasse. Das Objekt gibt stattdessen eine Dateiobjektinstanz zurück

Fügen Sie die Direktiven „clear“ und „optimize:config“ hinzu

Verbesserung der Überprüfung des Bilddateityps der Dateiklasse und Validierungsklasse

Die Betriebsmethode des Controllers unterstützt andere Injektionsobjektinstanzen als Request

Request-Klasse param(true) unterstützt das Abrufen von Daten mit Dateien

Der erste Parameter der Eingabehilfefunktion erhöht den Standardwert

Validierungsklasse fügt Bild hinzu. Validierungsregeln und Verbesserung der maximalen/min-Länge, um mehrere Datentypen zu unterstützen

Ausnahme wird danach ausgelöst Fehler bei der Datenkodierung bei der Ausgabe von JSON

[Anpassung]

Routing-Zuordnung (statisches Routing) aufheben Definition

Brechen Sie die URL_deny_suffix-Konfiguration ab und ändern Sie sie in die Parametereinstellung „deny_ext“ der Route

Der Rückgabewert der Modellspeichermethode wird auf die Anzahl der betroffenen Datensätze geändert, stornieren Sie den getId-Parameter

Die Request-Objekt-Controller-Methode gibt den Camel-Case-Controller-Namen zurück

Wenn die Controller-Voroperationsmethode nicht vorhanden ist, wird eine Ausnahme ausgelöst.

Die Loader-Klassen-DB-Methode fügt den Namensidentifikationsparameter hinzu.

Die DB-Assistentenfunktion fügt einen dritten Parameter hinzu Verbindungskennung

Sqlsrv-Treiber konvertiert Datentabellenfelder standardmäßig nicht in Kleinbuchstaben

Sae-Treiber entfernen und in Erweiterungspaket ändern

Oracle-Treiber wird aus dem Kernpaket entfernt

Verschieben Sie den Firebird-Treiber aus dem Kernpaket

Brechen Sie die Alias-Definitionsdatei alias.php ab

Löschen Sie die Umgebungsvariable beim Lesen der Konfigurationsparameter. Verwenden Sie die Env-Klasse, wenn Sie Die Umgebungsvariable muss gelesen werden.

Die Umgebungsvariablen-Definitionsdatei wurde vom ursprünglichen PHP-Array in die INI-Formatdefinition in .env geändert (unterstützt den Array-Modus)

Die Ladereihenfolge der Statuskonfiguration wurde erweitert Die Konfiguration wird so angepasst, dass die Parameter der erweiterten Konfiguration in der Statuskonfigurationsdatei geändert werden können.

Domänennamenbindung an Routengruppierungsfunktion aufheben

Die Erfolgs- und Fehlermethoden-URL-Parameter der Controller-Klassenunterstützung Es werden leere Zeichenfolgen übergeben und es erfolgt keine Verarbeitung

Controller Die Umleitungsmethode für Fehlererfolgsergebnisse muss nicht zurückgegeben werden

Die Berechtigung zum Erstellen des Verzeichnisses wird in 0644 geändert

Das obige ist der detaillierte Inhalt vonWann wurde ThinkPHP5 veröffentlicht?. 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

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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)

Was soll ich tun, wenn ich beim Bereitstellen von thinkphp5 in Pagoda eine Fehlermeldung erhalte? Was soll ich tun, wenn ich beim Bereitstellen von thinkphp5 in Pagoda eine Fehlermeldung erhalte? Dec 19, 2022 am 11:04 AM

Lösung für den bei der Bereitstellung von thinkphp5 in Pagoda gemeldeten Fehler: 1. Öffnen Sie den Pagoda-Server, installieren Sie die PHP-Pathinfo-Erweiterung und aktivieren Sie sie. 2. Konfigurieren Sie die Datei „.access“ mit dem Inhalt „RewriteRule ^(.*)$ index.php ?s=/$1 [QSA ,PT,L]“; 3. Aktivieren Sie in der Website-Verwaltung einfach die Pseudostatik von thinkphp.

Was soll ich tun, wenn das Umschreiben der thinkphp5-URL fehlschlägt? Was soll ich tun, wenn das Umschreiben der thinkphp5-URL fehlschlägt? Dec 12, 2022 am 09:31 AM

Lösung dafür, dass das Umschreiben von thinkphp5-URLs nicht funktioniert: 1. Überprüfen Sie, ob das Modul mod_rewrite.so in der Konfigurationsdatei httpd.conf geladen ist. 2. Ändern Sie None in AllowOverride None in All. 3. Ändern Sie die Apache-Konfigurationsdatei .htaccess in „RewriteRule ^“. (.*)$ index.php [L,E=PATH_INFO:$1]“ und speichern Sie es.

So erhalten Sie die angeforderte URL in thinkphp5 So erhalten Sie die angeforderte URL in thinkphp5 Dec 20, 2022 am 09:48 AM

Methoden für thinkphp5 zum Abrufen der angeforderten URL: 1. Verwenden Sie die Methode „$request = Request::instance();“ der Klasse „\think\Request“, um die aktuellen URL-Informationen abzurufen Funktion „$request->url()“, um die vollständige URL-Adresse einschließlich des Domainnamens zu erhalten.

So entfernen Sie das Titelleistensymbol von thinkphp5 So entfernen Sie das Titelleistensymbol von thinkphp5 Dec 20, 2022 am 09:24 AM

So entfernen Sie das thinkphp5-Titelleistensymbol: 1. Suchen Sie die Datei favicon.ico unter dem öffentlichen thinkphp5-Framework. 2. Löschen Sie die Datei oder wählen Sie ein anderes Bild aus, um sie in favicon.ico umzubenennen und die ursprüngliche Datei favicon.ico zu ersetzen.

Was soll ich tun, wenn thinkphp5 post den Wert nicht abrufen kann? Was soll ich tun, wenn thinkphp5 post den Wert nicht abrufen kann? Dec 06, 2022 am 09:29 AM

thinkphp5-Beitrag kann keinen Wert abrufen, da TP5 die strpos-Funktion verwendet, um den app/json-String im Inhaltstypwert des Headers zu finden. Die Lösung besteht darin, den Inhaltstypwert des Headers auf app/json zu setzen.

Was soll ich tun, wenn thinkphp5 meldet, dass der Controller nicht existiert? Was soll ich tun, wenn thinkphp5 meldet, dass der Controller nicht existiert? Dec 06, 2022 am 10:43 AM

Lösung für die Meldung thinkphp5, dass der Controller nicht existiert: 1. Überprüfen Sie, ob der Namespace im entsprechenden Controller korrekt geschrieben ist, und ändern Sie ihn in den richtigen Namespace. 2. Öffnen Sie die entsprechende tp-Datei und ändern Sie den Klassennamen.

So fragen Sie die Daten von gestern in ThinkPHP5 ab So fragen Sie die Daten von gestern in ThinkPHP5 ab Dec 05, 2022 am 09:20 AM

So fragen Sie die Daten von gestern in ThinkPHP5 ab: 1. Öffnen Sie ThinkPHP5-bezogene Dateien. 2. Fragen Sie die Daten von gestern über den Ausdruck „db('table')->whereTime('c_time', 'yesterday')->select();“ ab .

So legen Sie Fehlermeldungen in thinkphp5 fest So legen Sie Fehlermeldungen in thinkphp5 fest Dec 07, 2022 am 10:31 AM

So legen Sie Fehleraufforderungen in thinkphp5 fest: 1. Geben Sie den öffentlichen Ordner im Projektstammverzeichnis ein und öffnen Sie die Eintragsdatei index.php. 2. Sehen Sie sich die Kommentare zum Debug-Modus-Schalter an. 3. Passen Sie den Wert der Konstante „APP_DEBUG“ an auf „true“ setzen, um eine Fehlermeldung anzuzeigen.

See all articles