PHP

Interne Paketverwaltung mit Composer und Satis per Jenkins Skript

Di, 28.04.2015 - 14:19 -- Daniel Espendiller

Über den Composer und der Paketverwaltung Packagist lassen sich bekanntlich externe PHP Libraries mit deren Abhängigkeiten in Projekten einbinden. Will man hier nicht öffentlichen Quelltext ausrollen, so muss eine interne Infrastruktur her. Mit Satis kann man hier recht einfach private Repositories in seinen Entwicklungsprozess einbinden. Zwar kann man auch über einen Zweig repositories ein gleichen Effekt erreichen, dies ist aber recht langsam, da in jedem Branch nach möglichen composer.json Datei gesucht wird. Die Arbeit kann man besser Satis regelmäßig durchführen lassen.

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

Laravel Plugin für PhpStorm

So, 23.11.2014 - 13:08 -- Daniel Espendiller

laravel blade section phpstormMit PhpStorm8 wurde Support für die Blade Template Enigne vom Laravel Framework eingebunden. Eines der am meisten gewünschten Features der PhpStorm Community, anhand des Issue System.
Dieser Support bietet allerdings reine Language Syntax Unterstützung. Framework spezifische Features enthält dieses Implementierung nicht.

SensioLabsInsight Plugin für PhpStorm

So, 23.11.2014 - 12:10 -- Daniel Espendiller

sensiolabsinsight phpstorm shopwareIm Zuge der Zusammenarbeiten zwischen JetBrains und SensioLabs wurde von mir ein Plugin für SensioLabsInsight entwickelt, welches mittlerweile im PhpStorm Plugin Repository zu finden ist.
Das Plugin nutzt die SensioLabsInsight API und bereitet die Code-Analyse Reports für PhpStorm auf, so dass sie direkt in der IDE zur Verfügung stehen.

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.

Drupal8 PhpStorm Plugin für Symfony2 Support

Sa, 09.08.2014 - 11:20 -- Daniel Espendiller

Ab Drupal8 wurde der Core durch viele Symfony2 Komponenten erweitert. Dies vereinfacht nicht nur die Codepflege, sondern auch auch den Support für PhpStorm. Offiziell unterstützt JetBrains mit einem entsprechend Drupal Plugin das Framework bereits. Der Umfang lässt dich allerdings drastisch erweitern, wenn man die Symfony2 Komponenten noch mit einbezieht.

Doctrine und Symfony2 ORM Entities aus Datenbank erzeugen

Sa, 21.06.2014 - 11:53 -- Daniel Espendiller

Normalweise nutzt man in Symfony2 und Doctrine Projekten Yaml oder Annotations um dann über doctrine:schema:update die Datenbankstruktur anzulegen bzw. aktualisieren. Wenn man allerdings auf eine fremde Datenbank angewiesen ist funktioniert dieses Vorgehen meist nicht mehr. Mittels doctrine:mapping:import besteht jedoch auch die Möglichkeit aus einer Datenbank die Doctrine Entities samt Konfiguration zu generieren. Alles geht hier allerdings nicht automatischen und einige Dinge gibt es noch zu beachten

Symfony2: User Authentikation / Login mit Token

Mo, 21.04.2014 - 15:16 -- Daniel Espendiller

Bis Symfony2 (2.3) war es ziemlich kompliziert einen eigenen Authentication Provider + Authenticator zu nutzen, womit man zum Beispiel einen User über einen Token als Query-Paramater einloggen kann. Ab Symfony2 (2.4) hat dich das radikal vereinfacht. Das neue Feature ist recht ausführlich im Symfony2 Blog unter New in Symfony 2.4: Customize the Security Features with ease beschrieben. Hier eine kurze Zusammenfassung einer einfach Implementierung.

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.

Seiten

Subscribe to PHP