Wie wir bereits in unserem letzten Beitrag zum Thema ZendX_JQuery festgehalten haben, unterstützt Zend seit einiger Zeit direkt die Integration von jQuery und bietet hierzu diverse ViewHelper bzw. Form Elemente und Dekoratoren an. Der augenscheinliche Komfort ist jedoch trügerisch. Die Implementierung der einzelnen Klassen des Frameworks ist derzeit noch sehr fehlerbehaftet, so dass bei der konkreten Implementierung von jQuery Funktionen über ZendX_JQuery und dem Auftreten von Problemen im ersten Schritt ein Blick in den Issue Tracker des Projekts geworfen werden sollte bzw. nahezu obligatorisch ist. Viele im ersten Moment seltsam erscheinenden Effekte und Konstellationen lassen sich so beheben oder zumindest erklären.

In der derzeitigen Entwicklungsphase sollte man daher auch darauf gefasst sein, dass unter Umständen bestimmte und in früheren Versionen funktionstüchtige Komponenten wieder aus ZendX_JQuery oder der eingebundenen jQuery UI Bilbiothek entfernt werden. So beispielsweise geschehen bei AutoComplete. Zitat: “They kicked AutoComplete out in the last RC so i can’t really support it any more until they stabilized the API and schedulded it for UI 1.7 release.” Ohne dieses Vorwissen wird die Fehlersuche und -behandlung in Teilen sehr schwierig, da in vielen Fällen kein syntaktischer Fehler bei der Implementierung der ZendX_JQuery Klassen vorliegt und somit auch keine Ausgabe eines Fehlers vorliegt, sondern vielmehr die jQuery-Elemente nicht mehr richtig gerendert werden können. Selbst das lästige JavaScript-Debugging ist in einem solchen Fall nicht direkt möglich, da der Entwickler durch die Abstraktion mittels ZendX_JQuery keinen direkten Zugriff mehr auf die JavaScript-Quellen der eingebundenen Bibliotheken hat und nur noch auf PHP Ebene agieren kann.

Die im Netz zu finden und sehr beliebten Tutorials und Demos zu ZendX_JQuery sind daher ebenfalls nur mit absoluter Vorsicht zu genießen, da sie zumeist auf einen alten Entwicklungsstand des Projektes aufbauen und nur noch bedingt als Vorlage für eigene Implementierung herangezogen werden können. Beispielhaft soll hier die Klasse ZendX_JQuery_Form_Element_Slider genannt werden. Der Default-Wert des Sliders lässt sich nämlich entgegen jedweder zu findenden Zend-Implementierung nicht mit Hilfe des Parameters defaultValue setzen, sondern lediglich durch den Parameter value . Einen Hinweis hierzu liefert allerdings weder der Issue Tracker noch die offizielle Zend-Dokumentation, sondern lediglich die jQuery UI API.

Weiterhin ist zu beachten, auf welche Art und Weise Zend Updates heruntergeladen und eingespielt werden. In der Regel werden Entwickler im Zuge eines Updates lediglich das Minimal Package des Zend Frameworks herunterladen. Dort sind in der Regel auch alle relevanten Zend-Komponenten enthalten. Da allerdings die ZendX Klassen im Allgemeinen und ZendX_JQuery im Speziellen noch kein integraler Bestandteil der Zend Framework Standard Library sind, sind diese auch lediglich im Full Package unter extras enthalten und können lediglich durch den Download dieses Gesamtpaketes aktualisiert werden.

ZendX_JQuery ist mit Sicherheit der richtige Weg, um in Zukunft jQuery mit der Zend Technologie zu verknüpfen. Solange die besagten Klassen allerdings noch nicht in der offiziellen Standard Library enthalten sind, sollten bei einer Implementierung innerhalb eines Projektes die oben genannten Punkte unbedingt beachtet werden.


Keine Kommentare zu “HOW TO: ZendX_JQuery – Allgemeine Herangehensweise, Fehler-Suche und -Handling”

Sie können dieser Unterhaltung über atom feed verfolgen.

Bisher wurde noch kein Kommentar zu diesem Artikel abgegeben.

Hinterlassen Sie eine Antwort

XHTML: Folgende HTML Tags sind in den Kommentaren erlaubt: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>