Shopware

psr-0 ClassLoader in Shopware Plugin

So, 07.12.2014 - 18:22 -- Daniel Espendiller

 shopware psr-0 phpMit Einführung der Namespaces in PHP 5.3 und dem psr-0 Standards, hat sich das gesamte Autoloading von PHP Klassen standardisiert (Eine Klasse pro Datei und Verzeichnisstruktur = Namepace). Auch wenn dies mittlerweile durch den psr-4 Standard abgelöst worden ist, so hilft dieses doch immer noch bei der Entwicklung wiederverwendbarer Klassen

Shopware: Symfony2 Dependency Injection im Plugin nutzen

Sa, 22.11.2014 - 14:00 -- Daniel Espendiller

shopware symfony2 dependency injectionIn Shopware wird die Symfony2 Service Container Komponente genutzt. Die Core Services lassen sich allerdings nur bedingt beeinflussen, wie man in Kernel::buildContainer sehen kann.
So kann man eine eigene Container Datei in /Components/DependencyInjection/services_local.xml anlegen.

Shopware: registerCustomModels für Doctrine Entities von fremden Plugins

Sa, 22.11.2014 - 12:25 -- Daniel Espendiller

Da Shopware auf Doctrine setzt kann man eigene Entities auch über ein Plugins einbinden Shopware / Doctrine Plugin - Neues Model erstellen. Diese werden zum Beispiel unter MyPlugin/Models/FooClass.php angelegt. In der Plugin Bootstrap muss das Verzeichnis Models dann manuell registriert werden.

Ein Aufruf der registerCustomModels innerhalb von afterInit reicht dazu. Wenn man jedoch auch Entities von externe Plugin / Premium Plugins z.B. als Fremdbeziehung einbinden will, so kann man nicht davon ausgehen, dass das Plugin bereits initialisiert wurde. Will man dieses sicherstellen, so hilft es unten aufgeführtes Code-Snippet. Es ruft einfach die fremde registerCustomModels aus dem Plugin auf.

Shopware Plugin für PhpStorm

Sa, 29.03.2014 - 17:40 -- Daniel Espendiller

PhpStorm Shopware Plugin ScreenshotZur Vereinfachung der Shopware Entwicklung habe ich nun basierend auf dem PhpStorm Symfony2 Plugin ein entsprechendes Plugin für PhpStorm veröffentlicht. Es ist direkt über PhpStorm installierbar oder kann aus dem JetBrains Plugin Repository heruntergeladen werden. Als zusätzliche Abhängigkeit muss logischerweise noch das Symfony2 Plugin installiert und im Projekt aktiviert werden.

Subscribe to Shopware