SpeedPHP 3 hat von der ausschließlichen Unterstützung von MySQL/Smarty zur Unterstützung mehrerer Datenbanktypen sowie mehrerer Template-Engines und Daten-Caching-Engines gewechselt.
SpeedPHP 3 stärkt und verbessert die meisten der ursprünglichen Funktionen und Architektur und schafft so ein Gleichgewicht zwischen Schnelligkeit, Leichtigkeit und einfacher Erweiterbarkeit.
SpeedPHP 3 hat alle Bugs und Fehler seit SpeedPHP2 behoben und seine Stabilität hat ein neues Niveau erreicht.
Das Upgrade von SpeedPHP Version 2 auf SpeedPHP Version 3 ist sehr einfach und erfordert nur die folgenden Schritte:
Laden Sie SpeedPHP 3-Dateien herunter.
Entfernen Sie die ursprünglichen SpeedPHP 2-Dateien und ersetzen Sie sie durch SpeedPHP 3-Dateien.
Für die ursprüngliche SpeedPHP 2-Anwendung müssen Sie die Funktion spRun(); am Ende der Eintragsdatei hinzufügen, um die Anwendung zu starten.
Die vom ursprünglichen spHtml generierten statischen HTML-Dateien müssen gelöscht werden und der temporäre Ordner (normalerweise das tmp-Verzeichnis) muss gelöscht und neu generiert werden.
Das verschlüsselte Passwort-Eingabefeld im ursprünglichen spAcl ist zu einer unabhängigen Erweiterung in SpeedPHP 3 geworden. Bitte besuchen Sie den Erweiterungsbereich des SpeedPHP-Forums, um die neue md5password-Erweiterung (das ursprüngliche verschlüsselte Passwort-Eingabefeld) herunterzuladen, um sie zu installieren und zu verwenden.
So verwenden Sie SpeedPHP 3:
Die Verwendung von SpeedPHP 3 ist grundsätzlich die gleiche wie bei SpeedPHP Second Edition, daher kann das SpeedPHP Second Edition-Handbuch auch auf SpeedPHP 3 verwendet werden.
Verschiedene Anweisungen zur Datenbankkonfiguration. Anweisungen zu den Einstellungen der Template-Engine. Anweisungen zur Cache-Konfiguration. Schnelle, einfache Verwendung der Template-Engine. Einführung neuer Funktionen:
1. Unterstützt mehrere Datenbanktypen: MySQLi, Sqlite, Oracle, MsSQL, PDO usw.
2. Fügen Sie die SAE-Cloud-Computing-SAE-Zweigversion und die GBK-Zweigversion hinzu (exklusiv für die Sina-Cloud-Computing-Plattform).
3. Unterstützt mehrere Template-Engines: Smarty, Template Lite, Speedy usw.
4. Unterstützt mehrere Caching-Mechanismen: Memcache, Xcache, APC, eAccelerator usw.
5. Verbessern Sie die Datenbank- und Template-Engine-Treiberstruktur, verbessern Sie die logische Struktur des Controllers und der Ansichtsklasse, machen Sie sie sinnvoller und sparen Sie weitere Ressourcen.
6. Viele ursprüngliche Funktionen wurden gestärkt, die statische Funktion zur spHTML-Generierung wurde verbessert und der statische URL-Modus wurde verbessert.
7. Fügen Sie spRun, spDB, ersetzen, AffectRows, runSql, Escape, hinzu.
8. Viele Fehler seit der Veröffentlichung der zweiten Version von SpeedPHP wurden behoben und die Stabilität wurde erheblich verbessert.
9. Um eine konsistente Anwendungskonfiguration aufrechtzuerhalten, müssen SP2-Mitglieder lediglich spRun zur Eintragsdatei hinzufügen.
10. Halten Sie es einfach, leicht zu erlernen und leichtgewichtig.
ChangeLog
Die UrlRewrite-Erweiterung wurde aktualisiert, eine Controller-/Aktionszuordnung wurde hinzugefügt, das Ausblenden von Haupt-/Indexdaten wurde entfernt und das Ausblenden von Parametern kann festgelegt werden.
Die Escape-Mitgliedsfunktion wurde hinzugefügt, um __val_escape für die Zeichenfolgenfilterung zu ersetzen, und der Vorlagenwertmodus wurde korrigiert. Wenn der Wert falsch ist, wird er nicht an die Vorlage gesendet. Dies kann dem Manko Rechnung tragen, dass die Smarty-Schleife nicht feststellen kann, ob ein Wert vorhanden ist.
Die Verarbeitungslogik der Member-Ersetzungsfunktion von spModel wurde geändert, um zu verhindern, dass versehentlich neue Datensätze hinzugefügt werden, wenn keine Datenänderungen vorliegen.
Optimieren Sie den automatischen Seitenausgabemodus. Die automatische Ausgabe wird jetzt von spController gesteuert.
Ein Eingabeaufforderungsproblem in der Importfunktion wurde korrigiert. Die Art und Weise, wie Nullwerte im Treiber behandelt werden, wurde korrigiert. Überflüssige SQL-Ausführungsanweisungen aus einigen Datenbanken entfernt. Fehler im SQLite-Treiber behoben. Der Fehler wurde behoben, dass der PDO-Treiber keine Daten abrufen konnte.
Die Funktion __val_escape von spModel wurde geändert, um Null, Zahlen usw. zu beurteilen. spCache ist als eine mit spModel verbundene Klasse definiert, die nicht mehrmals aufgerufen werden kann. Beheben Sie das Problem im Konstruktor von spController Code des instanziierten Ansichtsobjekts im spController-Konstruktor wurde nach spRun verschoben.
Die logische Verarbeitung der Konfiguration „url_path_base“ wurde behoben und das Problem der Verarbeitung von Tabellennamen im Limit im MSSQL-Treiber behoben.
Das SpeedPHP-Framework schließt sich dem Fork der SAE-Cloud-Computing-Umgebungsversion an
Das SpeedPHP-Framework hat einen Zweig der GBK-Version hinzugefügt und die Copyright-Informationen in den Codedateien des SpeedPHP-Frameworks überarbeitet.
spModel fügt eine Ersetzungsmethode hinzu, um Datensätze zu aktualisieren, die die Bedingungen erfüllen. Wenn der Datensatz nicht vorhanden ist, wird ein neuer Datensatz hinzugefügt.
Die Logik zum Löschen der Pager-Daten von spArgs wurde korrigiert. Die Logik der Funktion „has“ bestimmt, ob die Variable vorhanden ist und ob die Länge des Variablenwerts größer als 0 ist.
spError zeichnet die Fehlerinformationen mithilfe von error_log in der Release-Umgebung auf.
Die Fehleraufforderung der session_start-Initialisierung wurde optimiert. Die Art und Weise der Registrierung von Ansichtsfunktionen wurde korrigiert. Die Eingabeaufforderungsmethode und Logik von spHtml wurden angepasst, um die nutzlosen Einstellungen url_getter und url_setter in HTML zu entfernen und die Mitgliedsfunktionen von spHtml direkt zu verwenden.
Problem behoben, bei dem der Rückgabewert von __val_escape null war.
spModel fügt eine runSql-Methode hinzu, um die Abfrage zum Ausführen von SQL-Anweisungen zu ersetzen. Aus Gründen der Vorwärtskompatibilität wird jedoch empfohlen, die runSql-Methode mit einer klareren Bedeutung zu verwenden.
spModel fügt die Methode „affectRows()“ hinzu, um die Anzahl der Datensätze zu ermitteln, die von Aktualisierungs-, Erstellungs- und anderen Vorgängen betroffen sind.
Die spRun-Funktion wird hinzugefügt, um den Speedphp-Kernprozess und die beiden Schritte zum Ausführen von Benutzercode zu trennen, sodass einige Operationscodes hinzugefügt werden können, die Klassenbibliotheken erfordern, aber bevor der Benutzercode ausgeführt wird. Gleichzeitig müssen Sie beim Upgrade auf diese Version des Frameworks eine Änderung an der Eintragsdatei vornehmen: in der Eintragsdatei (normalerweise index.php): require(SP_PATH."/SpeedPHP.php"); Zeile, spRun( ); Funktionsaufruf hinzufügen.
Die datenbankgesteuerte Variable conn wird in public geändert
Verbessern Sie die Feldmethode von spHtml für Parameter und ersetzen Sie die weniger effiziente und streng typisierte Serialisierung durch json_encode, sodass die Parameter der generierten Seite freier und effizienter sein können. Gleichzeitig wurde jedoch im vorhandenen Code auf diese Änderung aktualisiert. Es ist erforderlich, statische HTML-Dateien neu zu generieren.
Wenn die Standardkonfiguration „url_path_base“ leer ist, lautet die Eintragsdatei /index.php
Tippfehler in der sp_notice_php-Konfiguration hinzugefügt. Die Fehlermeldung, dass die spContrller-Methode nicht gefunden wurde, wurde geändert. Der Klassenname wurde korrigiert Probleme mit Objektnamen wurden von der Vorlagenfunktion registriert und entfernt. Experimentelle Funktion „Verschlüsseltes Passwort-Eingabefeld“.
Die spAccessCache-Klasse unterstützt die Erweiterung der spAccess-Funktion um weitere Caching-Methoden in erweiterter Form. Derzeit werden von spAccessCache folgende Cache-Treibertypen unterstützt: Dies ermöglicht Entwicklern zusätzlich zu Template-Engines wie Smarty eine schnelle und einfache Template-Engine-Lösung.
Die Datenbanktreiberklassen db_pdo, db_pdo_mysql und db_pdo_sqlite wurden zur Unterstützung der Datenbanktreiberklasse db_oracle hinzugefügt. Derzeit werden die PDO-Links mysql und sqlite unterstützt Es wird unterstützt, Datenbanktypen zur db_sqlite-Datenbanktreiberklasse hinzuzufügen, den SQLite-Datenbanktyp für den Beitritt zur db_mssql-Datenbanktreiberklasse zu unterstützen, den MSSQL-Datenbanktyp für den Beitritt zur db_mysqli-Klasse zu unterstützen, den MySQLi-Datenbanktreibertyp zu unterstützen und die MySQL-Datenbank zu ändern Treibername zu db_mysql, fügen Sie die Limit-Formatierungsmethode hinzu, ändern Sie die Instanziierungsmethode im db_mysql-Konstruktor und fügen Sie Unterstützung für mysql hinzu. Der Datenbank-Long-Link-Modus wird zur TemplateLite-Klassenbibliotheksdatei hinzugefügt. Die beiden Variablen $tbl_name und $_db werden geändert public. Der Konstruktor von spModel wird neu geschrieben, um den Treiber mehrerer Datenbanktypen zu unterstützen. Nach dem Abrufen werden die Paging-Daten gelöscht. Dies führt nicht zu Verwirrung bei den nächsten Paging-Daten. Die Art und Weise, wie SQL-Anweisungen die Limit-Logik implementieren, wurde geändert, um das Problem zu lösen, dass einige Datenbanktypen die Limit-Syntax nicht unterstützen können.
In Verbindung mit spController wird die Template-Engine-Instanz geändert. Die Art und Weise, dem Vorlagen-Engine-Treiber Werte zuzuweisen, wurde verbessert, um eine fehlertolerante Verarbeitung vorlagenbezogener Funktionen durchzuführen und Vorlagen-Engines zu unterstützen, die keine Vorlagenfunktionen registrieren können. Verbessern Sie die Netzwerklesemethode von spHtml, um das Problem zu vermeiden, dass Dateien nicht gelesen werden können, aber leere HTML-Seiten generiert werden. Fügen Sie die CURL-Reihe von Netzwerklesemethoden hinzu, die verwendet werden sollen, wenn file_get_contents keine Netzwerkdaten lesen kann. Verbessern Sie die Eingabeaufforderung von file_get_contents und erkennen Sie, ob die PHP-Umgebung das Lesen im Netzwerk verbietet, wenn das Lesen im Netzwerk fehlschlägt. Beschränkt spHtml darauf, nur HTML-Dateien innerhalb des Geltungsbereichs von APP_PATH zu generieren. Logikprobleme in den URL-Lese- und Generierungsfunktionen von spHtml behoben.
Die Template-Engine-Variablen von spController wurden neu definiert, um mehrere Template-Engines zu unterstützen. Ein Leseproblem der __get-Funktion wurde behoben. Das Problem wurde behoben, dass der Standardwert nicht 0 sein kann, wenn spArgs den Wert erhält.
Der Standardwert der db_driver_path-Konfiguration wurde geändert und die spDB-Funktion hinzugefügt. Mit spDB können Sie eine Abkürzung verwenden, indem Sie einfach die spModel-Unterklasse verwenden und direkt auf der Tabelle (im Besitz von spModel) arbeiten, ohne die spModel-Unterklasse zu definieren. Entfernen Sie das kaufmännische Und von spConfigReady, beheben Sie das Pfadproblem der automatischen Vorlagenausgabe, ändern Sie den Speicherort des MySQL-Treibers, übertragen Sie das Smarty-Verzeichnis und den MySQL-Treiber, löschen Sie die spDB-Datei und die spDB-Funktion wird als Kernfunktion in spFunctions abgelegt die Zukunft.
Fügen Sie das Treiberverzeichnis hinzu und platzieren Sie die Treiberklasse des Kernprogramms. Wenn die Ansicht geschlossen ist, können Sie weiterhin $this->variables und $this->display für die Vorlagenzuweisung verwenden. Die Vorlagensyntax muss jedoch die normale PHP-Syntax sein.
Expandieren