Heim >Backend-Entwicklung >PHP-Tutorial >phpmaster | Serverseitiges HTML-Handling mit PHPQuery

phpmaster | Serverseitiges HTML-Handling mit PHPQuery

Joseph Gordon-Levitt
Joseph Gordon-LevittOriginal
2025-02-27 10:26:15304Durchsuche

phpmaster | Serverseitiges HTML-Handling mit PHPQuery

In unseren täglichen Aufgaben der Webentwicklung müssen wir sowohl mit dem Client- als auch mit dem serverseitigen Code arbeiten. Wir schreiben die Geschäftslogik mit PHP und generieren die HTML, die in den Browsern der Benutzer angezeigt werden soll. Anschließend verwenden wir Frameworks wie JQuery oder Prototyp, um die Interaktivität der clientseitigen Interaktivität bereitzustellen. Denken Sie nun darüber nach, wie Sie den generierten HTML mit dem Server-Seiten-PHP-Code ändern und manipulieren können. PHPQuery ist die ultimative Lösung, die Ihnen in den Sinn kommt. Wenn Sie noch nichts von PhpQuery gehört haben, interessieren Sie sich möglicherweise für diesen Artikel, da ich Ihnen eine kurze Einführung in PhpQuery geben und erklären werde, wie Sie ihn in realen Projekten verwenden können.

Key Takeaways

  • PHPQuery ist eine serverseitige, kettenfähige, CSS3-Selektor-DOM-API (DOM) -Modellmodell (DOM), die auf der Jquery JavaScript-Bibliothek basiert. Es vereinfacht die Aufgaben, die eine DOM -Manipulation erfordern, ähnliche Funktionen wie JQuery bereitstellen und die Notwendigkeit einer unordentlichen HTML -Codegenerierung unter Verwendung von Echo -Anweisungen und ähnlichen Methoden beseitigen.
  • Die Funktionalität von PhpQuery umfasst das Erstellen von DOM -Elementen, das Auswählen und Manipulieren von Elementen, das Iterieren durch das DOM und das Drucken der Ausgabe in den Browser. Es bietet auch Funktionen wie Selektoren, Attribute, Durchqueren, Manipulation, Ajax, Ereignisse und Dienstprogramme.
  • PhpQuery ermöglicht es Entwicklern, den generierten HTML mit dem serverseitigen PHP-Code zu ändern und zu manipulieren. Dies kann die Leistung und Sicherheit von Webanwendungen verbessern, da die Aufgaben traditionell auf der Client-Seite auf der serverseitigen Handlung erledigt werden können.
  • PHPQuery bietet im Vergleich zu reinem PHP -Code eine bessere Codequalität und -vergauglichkeit. Es ermöglicht die Öffnung von Code für die Erweiterung, aber für die Änderung geschlossen, wodurch sich das Open-Closed-Prinzip einhält. Dies bedeutet, dass neue Funktionen hinzugefügt werden können, ohne den vorhandenen Code zu ändern und die Robustheit und Wartbarkeit des Codes zu verbessern.

Was ist PhpQuery

PHPQuery ist eine serverseitige, kettenfähige, CSS3-Selektor-DOM-API (DOM) -Modellmodell (DOM), die auf der Jquery JavaScript-Bibliothek basiert.
Dies ist die Definition auf der offiziellen PhpQuery -Projektseite. Wenn Sie JQuery verwendet haben, haben Sie eine Vorstellung davon, wie es viele Aufgaben vereinfachen kann, die eine DOM -Manipulation erfordern. PHPQuery bietet genau die gleichen Funktionen, die in Ihrem serverseitigen PHP-Code verwendet werden müssen. Sie können sich auf ein gutes Aufnehmen von unordentlichem HTML -Code -Generierung unter Verwendung von Echo -Anweisungen und ähnlichen Methoden sagen. Sie haben Zugriff auf die meisten Funktionen von JQuery in PHPQuery, die im Großen und Ganzen in die nachstehend genannten 4 aufgebliebenen Aufgaben unterteilt werden können:
  • DOM -Elemente erstellen
  • Auswahl und Manipulation von Elementen
  • durch die Dom
  • iteriert
  • Drucken Sie die Ausgabe in den Browser
Sie können die Aufgaben mithilfe der von PHPQuery bereitgestellten Funktionen ausführen, die als "portierte jQuery -Abschnitte" bezeichnet werden. Sehen wir uns zuerst die Funktionen an:
  • Selektoren - finden Sie Elemente basierend auf gegebener Bedingung.
  • Attribute - Arbeiten Sie mit Attributen von DOM -Elementen.
  • Durchqueren - Fahren Sie durch die Liste ausgewählter Elemente.
  • Manipulation - Inhalt in ausgewählten Elementen hinzufügen und entfernen.
  • ajax - Erstellen Sie die AJAX -Anforderungen der Server.
  • Ereignisse - Binden Sie DOM -Ereignisse an ausgewählten Elementen.
  • Dienstprogramme - Generische Funktionen zur Unterstützung anderer Funktionen.
Sie können die PhpQuery -Bibliothek auf der Projektseite unter codel.google.com/p/phpquery herunterladen. Kopieren Sie den Ordner auf Ihren Webserver und Sie sind bereit zu gehen. Die Installation ist einfach und Sie können die Demo.php -Datei ausführen, um loszulegen.

wie man phpQuery

verwendet Ich werde Ihnen zeigen, wie Sie eine zweispaltige, ungeordnete Liste mit Header und verschiedenen Zeilenfarben für ungerade und sogar Zeilen erstellen, wie im Bild unten gezeigt:

phpmaster | Serverseitiges HTML-Handling mit PHPQuery

Erstellen wir zunächst ein HTML -Dokument mit PhpQuery:
<span><span><?php
</span></span><span><span>require("phpQuery/phpQuery.php");
</span></span><span><span>$doc = phpQuery<span>::</span>newDocument("<div/>");</span></span>
Der obige Code erstellt ein grundlegendes HTML -Dokument mit einem DIV -Tag. Die Bibliothek bietet verschiedene Methoden zum Erstellen von Dokumenten. Ich habe das einfachste verwendet, aber Sie können andere in Demo.php und der Dokumentation finden. Jetzt müssen wir eine ungeordnete Liste erstellen und unserem HTML -Dokument hinzufügen.
<span><span><?php
</span></span><span><span>...
</span></span><span><span>$doc["div"]->append("<ul><li>Product Name</li><li>Price</li></ul>");
</span></span><span><span>$products = array(
</span></span><span>    <span>array("Product 1","<span><span></span>"</span>),
</span></span><span>    <span>array("Product 2","<span><span></span>"</span>),
</span></span><span>    <span>array("Product 3","<span><span></span>"</span>));
</span></span><span>
</span><span><span>foreach($products as $key=>$product) {
</span></span><span>    <span>$doc["div ul"]->append("<li><span><span>$product[0]</span></li><li><span>$product[1]</span></li>"</span>);
</span></span><span><span>}
</span></span><span><span>print $doc;</span></span>
Sie können sehen, dass wir jetzt die ungeordnete Liste haben. Aber alle Elemente befinden sich in einer einzigen Spalte, die die Standardeinstellung ist. Wir müssen die gleichmäßigen Elemente der Liste in eine zweite Spalte verschieben.
<span><span><?php
</span></span><span><span>...
</span></span><span><span>$doc["div ul"]->attr("style", "width:420px;");
</span></span><span><span>$doc["div ul"]->find("li:even")->attr("style","width:200px; float:left; padding:5px; list-style:none;");
</span></span><span><span>$doc["div ul"]->find("li:odd")->attr("style","width:200px; float:left; padding:5px; list-style:none;");</span></span>
Ich verwende das Style -Attribut, um die CSS -Stile zu definieren, die für unser Beispiel hier erforderlich sind. Es wird jedoch nicht empfohlen, Inline -Stile zu verwenden, es sei denn, es ist wirklich erforderlich. Verwenden Sie immer CSS -Klassen, um Stile hinzuzufügen. Lassen Sie uns nun den Header und sogar nummerierte Zeilen mit PhpQuery -Methoden hervorheben.
<span><span><?php
</span></span><span><span>...
</span></span><span><span>$doc["div ul"]->find("li:nth-child(4n)")->attr("style","background:#EEE; width:200px; float:left; padding:5px; list-style:none;");
</span></span><span><span>$doc["div ul"]->find("li:nth-child(4n-1)")->attr("style","background:#EEE; width:200px; float:left; padding:5px; list-style:none;");
</span></span><span><span>$doc["div ul"]->find("li:lt(1)")->attr("style","background:#CFCFCF; width:200px; float:left; padding:5px; list-style:none;");</span></span>
Wir haben unser einfaches Beispiel abgeschlossen, und Sie sollten jetzt eine Vorstellung davon haben, wie PHPQuery verwendet werden kann, um die Server-Seite der HTML-Generation zu vereinfachen. Alles, was wir getan haben, ist fast das gleiche wie mit JQuery, außer dass wir alle Aktionen gegen das $ DOC -Objekt ausgeführt haben.

Bedeutung von PhpQuery

Obwohl ich die Funktionalität von PHPQuery erklärt habe, müssen Sie sich fragen, warum wir die Bibliothek brauchen, wenn wir JQuery auf der Client-Seite haben. Ich werde die Bedeutung von PhpQuery mit einem praktischen Szenario zeigen. Betrachten Sie die folgende Situation: Angenommen, wir haben eine Tabelle wie die folgenden, die alle Informationen über Webentwickler enthält, die zu einem Interview gegangen sind.

phpmaster | Serverseitiges HTML-Handling mit PHPQuery

Hier ist die Liste der Anforderungen, die wir in diesem Szenario entwickeln müssen:
  • Bewerber, die für die Prüfung eine Marke über 60 erhielten, sollten blau hervorgehoben werden.
  • Bewerber mit mehr als 3 Jahren Berufserfahrung sollten über einen Link in der Front mit „Bewerber für Senior Software Engineer“ verfügen, und andere Bewerber sollten den Link „Antrag auf Software -Ingenieur beantragen“.
  • Das Unternehmen verfügt über eine Gehaltsstruktur, die auf Erfahrung basiert:
    • 1 Jahr - $ 5.000
    • 2 Jahre - $ 10.000
    • 3 Jahre - $ 20.000
    • mehr als 3 Jahre - $ 50.000
    Die Gehaltsspalte sollte für Bewerber, die den Kriterien entsprechen, in Grün hervorgehoben werden.
So sollte die Ausgabe aussehen:

phpmaster | Serverseitiges HTML-Handling mit PHPQuery

Ein Entwickler kann die folgende Lösung bereitstellen, um die Anforderungen mit dem reinen PHP -Code zu erfüllen.
<span><span><?php
</span></span><span><span>require("phpQuery/phpQuery.php");
</span></span><span><span>$doc = phpQuery<span>::</span>newDocument("<div/>");</span></span>
Lassen Sie es uns nun mit PhpQuery tun und den Code und die Vorteile vergleichen.
<span><span><?php
</span></span><span><span>...
</span></span><span><span>$doc["div"]->append("<ul><li>Product Name</li><li>Price</li></ul>");
</span></span><span><span>$products = array(
</span></span><span>    <span>array("Product 1","<span><span></span>"</span>),
</span></span><span>    <span>array("Product 2","<span><span></span>"</span>),
</span></span><span>    <span>array("Product 3","<span><span></span>"</span>));
</span></span><span>
</span><span><span>foreach($products as $key=>$product) {
</span></span><span>    <span>$doc["div ul"]->append("<li><span><span>$product[0]</span></li><li><span>$product[1]</span></li>"</span>);
</span></span><span><span>}
</span></span><span><span>print $doc;</span></span>
PHPQuery ist einfach, wenn Sie bereits wissen, dass Sie mit JQuery arbeiten. Der größte Teil des oben genannten Code wird selbsterklärend sein. Ich möchte jedoch erwähnen, dass sich PQ () auf das aktuelle Dokument bezieht. Alle anderen sind JQuery -Funktionen. Und obwohl beide ähnlich aussehen, bietet der Code, der PHPQuery verwendet, eine bessere Qualität und Erweiterbarkeit. Überlegen Sie, wie spröde der ursprüngliche Code sein kann, wenn Sie später zusätzliche Funktionen hinzufügen müssen. Nehmen wir an, wir möchten zusätzliche Validierung für Markierungen auf der Grundlage der Arbeitserfahrung hinzufügen. In diesem Szenario müssen Sie eine andere Methode hinzufügen und das zurückgegebene Ergebnis in der Foreach -Schleife zuweisen. Das bedeutet, dass Sie bereits geschriebenen Code ändern müssen, um gegen das Open-Clo-Prinzip zu verstoßen:
Softwareentitäten (Klassen, Module, Funktionen usw.) sollten für die Erweiterung geöffnet sein, jedoch für die Änderung geschlossen werden.
Mit dem zweiten Beispiel, das PHPQuery verwendet, wird der Code zunächst ohne Validierung generiert, und dann übergeben wir die Tabelle in jede Funktion und die Änderungen werden in die ursprüngliche Tabelle gegeben. Jede Funktion wirkt sich nicht auf die anderen Funktionen aus, sodass wir eine neue Funktion für neue Anforderungen schreiben und mit den anderen Funktionen außerhalb der Schleife verwenden können. Wir ändern keinen bereits vorhandenen Code, was gut klingt, oder? Dies wird als Dekoration bezeichnet:
Das Dekorateurmuster ist ein Designmuster, mit dem das Verhalten dynamisch zu einem vorhandenen Objekt hinzugefügt werden kann.

Zusammenfassung

Wir haben dieses Tutorial begonnen, indem wir PhpQuery -Funktionen und seiner Bedeutung eingeführt haben. Nachdem wir gelernt haben, wie man PHPQuery anhand eines einfachen Beispiels verwendet, wechselten wir zu einem praktischen Beispiel, bei dem es viel wichtiger wurde, die Qualität des Code zu verbessern. PHPQuery hat uns eine neue Perspektive für die Zusammenarbeit mit HTML auf der Serverseite zur Verfügung gestellt, und ich hoffe, Sie werden PHPQuery auf unterschiedliche Weise verwenden und Ihre persönlichen Erfahrungen in den folgenden Kommentaren teilen.

häufig gestellte Fragen zur serverseitigen HTML-Handhabung mit PHPQuery

Was ist PhpQuery und warum ist es wichtig für die serverseitige HTML-Handhabung? Es ist in PHP5 geschrieben und bietet eine einfache Möglichkeit, HTML -Elemente auf der Serverseite zu verarbeiten. Es ermöglicht Entwicklern, Aufgaben wie das HTML -Dokument -Traversal und die Manipulation, die Ereignishandhabung und die Animation auszuführen, die traditionell auf Kundenseite durchgeführt wurden. Dies kann die Leistung und Sicherheit von Webanwendungen erheblich verbessern.

Wie ist PHPQuery mit anderen DOM -Manipulationsbibliotheken verglichen? Es unterstützt die meisten JQuery -Syntax und erleichtert HTML -Elemente einfach auszuwählen, zu manipulieren und zu durchqueren. Im Gegensatz zu einigen anderen Bibliotheken ist PhpQuery kettenfähig, was bedeutet, dass Sie mehrere Aktionen in einer einzelnen Anweisung miteinander verbinden können.

Wie installiere ich PhpQuery? Sie können Ihrem Projekt PhpQuery hinzufügen, indem Sie den Befehlskomponisten ausführen, der PhpQuery/PhpQuery benötigt. Dadurch wird die neueste stabile Version von PhpQuery und seine Abhängigkeiten heruntergeladen und installiert.

Wie wähle ich Elemente mit PHPQuery aus? Um beispielsweise alle Absätze in einem Dokument auszuwählen, würden Sie $ doc ['p'] verwenden. Sie können auch komplexere Selektoren verwenden, wie z. Beispielsweise können Sie die Methoden append (), prepend (), nach () und vor () verwenden, um Inhalte einzufügen. Sie können auch die Methode ATTR () verwenden, um den Wert eines Attributs zu erhalten oder festzulegen, und die Methoden von AddClass (), removeClass () und ToggleClass () zum Manipulieren von Klassen. Sie können diese Methode verwenden, um Ereignishandler an Elemente anzuhängen. Zum Beispiel $ doc ['p']-> bind ('click', function () {echo 'Absatz klickte!';}); Würde das Echo "Absatz geklickt!" Wenn ein Absatz geklickt wird.

Kann ich PhpQuery mit AJAX verwenden? Mit dieser Methode können Sie asynchrone HTTP -Anforderungen an den Server senden und die Antwort mit PhpQuery manipulieren. Mit dieser Methode können Sie benutzerdefinierte Animationen erstellen, indem Sie die CSS -Eigenschaften im Laufe der Zeit ändern. Mit diesen Methoden können Sie in einem Dokument durch die Elemente navigieren.

Kann ich PhpQuery mit anderen PHP -Bibliotheken verwenden? Es ist so konzipiert, dass es flexibel und interoperabel ist und es zu einem großartigen Werkzeug für das Toolkit eines PHP -Entwicklers macht.

Das obige ist der detaillierte Inhalt vonphpmaster | Serverseitiges HTML-Handling mit PHPQuery. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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