jdorn/sql-formatter ist eine leichte PHP-Klasse zum Formatieren von SQL-Anweisungen.
Es unterstützt automatische Einrückung, Zeilenumbrüche und sogar Syntaxhervorhebung.
Wird in der Befehlszeile verwendet
Das Erweiterungspaket enthält eine ausführbare Datei bin/sql-formatter , die direkt für die Befehlszeilenformatierung verwendet werden kann SQL.
Sie können diesen Befehl nach der globalen Installation von Composer verwenden:
composer global require jdorn/sql-formatter sql-formatter "SELECT SOME QUERY;" // 直接格式化 // 或 echo "SELECT SOME QUERY;" | sql-formatter // 使用管道,更适合较大量的 SQL 语句
Wird als Erweiterungspaket verwendet
Die SqlFormatter-Klasse enthält eine statische benannte Formatmethode. die eine SQL-Anweisungszeichenfolge als Parameter empfangen und formatierten HTML-Code zurückgeben kann, der in Pre-Tags eingeschlossen ist.
Zum Beispiel:
<?php require_once('SqlFormatter.php'); $query = "SELECT count(*),`Column1`,`Testing`, `Testing Three` FROM `Table1` WHERE Column1 = 'testing' AND ( (`Column2` = `Column3` OR Column4 >= NOW()) ) GROUP BY Column1 ORDER BY Column3 DESC LIMIT 5,10"; echo SqlFormatter::format($query);
Ausgabe:
Nur Formatierung ohne Hervorhebung
Wenn Sie benötigen keine Hervorhebung und müssen nur Einrückungen und Zeilenumbrüche hinzufügen. Bitte setzen Sie den zweiten Parameter auf „false“.
eignet sich zur Ausgabe von Fehlerprotokollen oder anderen Nicht-HTML-Daten.
<?php echo SqlFormatter::format($query, false);
Ausgabe:
Nur Hervorhebung ohne Formatierung
Es gibt eine separate Methode namens Hervorhebung Dies kann sichergestellt werden dass das ursprüngliche Format nicht geändert wird und nur Syntaxhervorhebung hinzugefügt wird.
eignet sich, wenn die SQL gut formatiert wurde und besser lesbar gemacht werden muss.
Abfrageanweisung komprimieren
Die Komprimierungsmethode entfernt alle SQL-Kommentare und komprimiert unnötige Leerzeichen.
eignet sich zum Ausgeben mehrerer Abfrageanweisungen und zum einfachen Kopieren und Einfügen in die Befehlszeile.
-- This is a comment SELECT /* This is another comment On more than one line */ Id #This is one final comment as temp, DateCreated as Created FROM MyTable; echo SqlFormatter::compress($query);
Ausgabe:
SELECT Id as temp, DateCreated as Created FROM MyTable;
Kommentare entfernen
Wenn Sie das Originalformat beibehalten, aber dennoch die SQL-Kommentare entfernen müssen, können Sie Folgendes verwenden die Methode „removeComments“, um compress zu ersetzen.
-- This is a comment SELECT /* This is another comment On more than one line */ Id #This is one final comment as temp, DateCreated as Created FROM MyTable; echo SqlFormatter::removeComments($query);
Ausgabe:
SELECT Id as temp, DateCreated as Created FROM MyTable;
Mehrere SQL-Anweisungen in Arrays aufteilen
Es gibt auch eine formatunabhängige Funktion, die mehrere SQL-Anweisungen in Arrays aufteilen kann SQL-Anweisungen werden in Arrays unterteilt.
Zum Beispiel:
DROP TABLE IF EXISTS MyTable; CREATE TABLE MyTable ( id int ); INSERT INTO MyTable (id) VALUES (1),(2),(3),(4); SELECT * FROM MyTable; $queries = SqlFormatter::splitQuery($sql);
Ergebnis:
DROP TABLE IF EXISTS MyTable; CREATE TABLE MyTable ( id int ); INSERT INTO MyTable (id) VALUES (1),(2),(3),(4); SELECT * FROM MyTable;
Warum nicht reguläre Ausdrücke verwenden?
Gehen Sie und lesen Sie die README~https://github.com/jdorn/sql-formatter#why....
Das obige ist der detaillierte Inhalt vonFormatieren und markieren Sie SQL-Anweisungen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!