Magento in der Meisterklasse

Magento: die offizielle Entwicklerzertifizierung
Kommentare

Magento bekommt eine Zertifizierung, die es erfahrenen Entwicklern ermöglicht, sich als Experten auszuweisen. Auf der eBay-Entwicklerhausmesse Innovate im Oktober war es soweit: Erstmalig konnten Magento-Entwickler an einer Beta der offiziellen Zertifizierungsprüfung teilnehmen. Ab Dezember [2011 wurde] die fertige Zertifizierung über das Unternehmen Prometric auch global zur Verfügung [gestellt]. Im Folgenden bekommen Sie einige Tipps zur Prüfungsvorbereitung.

PHP Magazin

Der Artikel „Magento in der Meisterklass“ von Vinai Kopp ist erstmalig erschienen im PHP Magazin 2.2012.

Der ersten Prüfung gingen Monate an intensiver Arbeit voraus. Zur Vorbereitung war auf der Website eine Liste mit Prüfungsthemen verlinkt [1]. Zuerst wurden die Themen und Schwerpunkte für die Prüfung festgelegt: Welche Bedeutung soll eine Magento-Zertifizierung für Entwickler haben? Welche Fähigkeiten sollen durch den Test nachgewiesen werden? Schließlich soll eine solche Zertifizierung bestimmte Anforderungen des Stellenmarkts abdecken. Das vereinbarte Ziel der Prüfung ist es, zertifizierte Magento-Entwickler als erfahrene Spezialisten zu bestätigen, die nachweislich in der Lage sind, Implementierungen korrekt einzuschätzen und zu planen. Stehen bei einem Projekt mehrere mögliche Lösungswege zur Verfügung, gilt es, den besten Ansatz für den jeweiligen Fall zu erkennen. Sind auch weniger erfahrene Entwickler an einem Projekt beteiligt, sollen sie von einem zertifizierten Entwickler auf technischer Ebene angeleitet werden können. Schließlich ist die Zertifizierung darauf ausgelegt, nicht nur theoretisches Wissen zu prüfen, sondern auch die praktische Erfahrung. Im Vorfeld wurden Magento-intern Alphaprüfungen durchgeführt, deren Ergebnisse bereits in die erste Betaprüfung eingearbeitet waren. Neben der Betazertifizierung während der Innovate-Konferenz erfolgten weitere Betaprüfungen in Los Angeles, London, Berlin und der Ukraine.

Prüfungsbedingungen und -inhalte

Es gibt zwei Varianten der Zertifizierung: Magento Certified Developer und Magento Certified Developer Plus. Letztere ergänzt die zuerst genannte um fortgeschrittene Qualifikationen, unter anderem im Bereich der Enterprise Edition. Der Test findet auf gestellter Hardware statt. Es sind keine Referenzen oder Hilfsmittel erlaubt. Alle Fragen sind auf Englisch in Multiple-Choice-Form verfasst und können zur Wiedervorlage markiert werden. Vor Beenden des Tests werden alle Fragen aufgelistet. Unvollständig beantwortete oder zur Wiedervorlage markierte Fragen werden dabei hervorgehoben. So kann man sich in mehreren Durchgängen durch den Fragenkatalog arbeiten. Weitere Details zu der Prüfung können online nachgelesen werden [1], wo sich auch eine aktuelle Liste der Prüfungsthemen in der Self-Assessment-Checkliste befindet.

Aber worum geht es konkret in der Prüfung? Und wie kann man sich darauf vorbereiten? Es gibt keine gesammelte Ressource, wie etwa ein Buch oder ein Kurs, die alle Inhalte der Prüfung abdeckt. Ein wichtiges Ziel der Prüfung ist es allerdings, Arbeitserfahrung nachzuweisen. Um die Prüfung zu bestehen, muss ein Entwickler also in der Lage sein, Magento Sourcecode zu lesen, zu verstehen und sich die zugrunde liegenden Konzepte zu erarbeiten. In der Praxis können allerdings die wenigsten Entwickler Code einfach nur lesen und sich damit schon alle Zusammenhänge einprägen. Am besten ist es, mit jedem Prüfungsthema konkret zu arbeiten. Wenn dafür gerade kein relevantes Projekt im Rahmen der eigenen Arbeit zur Verfügung steht, bietet es sich an, zur Vorbereitung ein Modul für Magento Connect zu bauen. Ein paar Jahre intensiver Entwicklung mit Magento sind also hilfreich. Aber auch alte Hasen sollten sich nicht einfach auf das verlassen, was sie sowieso wissen. Es ist sicherlich für alle sinnvoll, sich sorgsam auf die Prüfung vorzubereiten. Dieser Artikel enthält im Folgenden weiterführende Informationen zu jedem der geprüften Themenbereiche. Die Informationen hier sind bei Weitem nicht vollständig, sie dienen nur beispielhaft als Anregung, um die weitere Vorbereitung zu erleichtern. Welchen Anteil die Fragen an der Gesamtprüfung haben, steht jeweils in Klammern hinter dem Titel des Themenbereichs.

Basics (5 %)

Beim Bereich Basics wird geprüft, ob die internen Zusammenhänge bekannt sind: wie und wann Module geladen und wann welche global verfügbaren Objekte instanziiert werden. Dabei geht es zum einen um die Reihenfolge, zum anderen um die grundlegenden XML-Strukturen. So sollte bekannt sein, wie nach Mage::run() oder Mage::app() über die Klasse Mage_Core_Model_Config::loadModules() die Modulkonfiguration geladen wird. Zuerst werden alle XML-Dateien in APP | ETC | MODULES aggregiert, damit dann die config.xml-Dateien der Module in der Reihenfolge der Abhängigkeiten geladen werden können. Ebenso sollte bekannt sein, wie die Datenstruktur der Systemkonfiguration aufgebaut und ausgelesen wird. Die Factory-Methoden zur Instanziierung von Model-, Helper-, Block- und Resource-Klassen werden ebenso vorausgesetzt wie alle Varianten der rewrites. Die Funktionsweise und Konfiguration von Event-Observern gehört natürlich auch zum Grundwissen. Nicht erwähnt werden müssen die Klasse Varien_Autoload und die Magic Getter und Setter in Varien_Object.

Request Flow (7 %)

Dieses Themengebiet beinhaltet den Aufbau der Laufzeitumgebung (u. a. des Caches, des aktuellen Store View und der aktiven Locale) und das Dispatchen des Front Controllers, der dann das Routing und Dispatchen des Action Controllers weiter delegiert. Gerade das Routing kann sehr umständlich erscheinen. Allerdings bietet es Entwicklern sehr viele Möglichkeiten, beispielsweise über eigene Router neue URL-Schemata abzubilden. Aber: Sollte der Content direkt aggregiert werden oder wird der Output doch besser über den Standardrouter generiert, so wie es der CMS-Router aus dem Magento Core vormacht? Weiß man auf diese Fragen keine Antwort, wäre es wohl eine gute Idee, sich etwas Zeit zu nehmen, um die Methode Mage_Core_Controller_Varien_Front::dispatch() zu studieren. Eventuell ist dabei auch die ausführliche (englische) Blogserie von Alan Storm [2] zu dem Thema hilfreich.

Rendering (8 %)

Das „V“ in Magentos MVC-Implementierung besteht aus Layout-XML, Block-Klassen und Templates. Außer diesen weitgehend bekannten Aspekten wird geprüft, wie der Rendering-Vorgang mittels loadLayout() und renderLayout() von den Action Controllern beeinflusst werden kann. Ein fähiger Entwickler kann den Rendering-Schritt so zum Beispiel für Ajax-Antworten schneller gestallten. Als Referenz für dieses Vorgehen kann zum Beispiel Mage_Adminhtml_Sales_OrderController::gridAction() dienen.


Themen der folgenden Seiten:

  • Working with the Database in Magento (12 %)
  • Entity Attribute Value (EAV) Model (10 %)
  • Adminhtml (8 %)
  • Catalog (10 %)
  • Checkout (15 %)
  • Sales and Customers (12 %)
  • Advanced Features (13 %)
  • Additional Objectives for the Plus Form
  • Fazit
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -