eZ Publish 5 Templating, Teil 2: Ein eigener Controller

Eine Übersichtsseite (stage_3)

Nachdem Teil 1 dieses Tutorials grundsätzliche Temen des Templatings für eZPublish 5 behandelt hat,  wollen wir im folgenden Schritt einen eigenen Controller nutzen, um auf einer Seite vom Typ „landing_page“ eine Liste der im ContentTree darunter befindlichen Objekte, die vom Typ „article“ sind, abzubilden.

Dazu erzeugen wir zuerst ein Template für diese Content-Klasse, das wiederum das allgemeine Pagelayout erweitert. Das Template selbst besteht aus einer einzelnen Zeile, die über den Symfony-eigenen Helper „render“ eine Methode in einer Controllerklasse aufruft, die wir gleich im nächsten Schritt definieren werden. Weiterlesen

eZ Publish 5 Templating – Teil 1: Basics

Das eZ Publish Content Management System hat sich mit dem Umbau auf Basis des Symfony2 Frameworks stark verändert. Eine der wesentlichsten Änderungen liegt im Templating für das Frontend. Bauten die pre-Symfony-Versionen bis 4 auf einen Mix aus Smarty mit PHP-Code, lassen sich eZ Publish 5 Templates in der Symfony2-eigenen Templatesprache Twig entwickeln. Weiterlesen

So erstelle ich einen eigenen Coding Standard für den PHP CodeSniffer

An sich ist es dem Computer egal, wie hübsch und strukturiert der Code formatiert ist, er wird ihn so oder so ausführen, wenn die Syntax und Semantik passt. Der Mensch tut sich jedoch erheblich leichter, wenn der Quelltext einem einheitlichen Programmierstil folgt, der das Wichtige vom Unwichtigen trennt und schnell Aufschluss darüber gibt, was wo wie passiert.

Eine Frage des guten Stils

So haben sich für diverse Programmiersprachen und Frameworks verschiedenere Coding Standards etabliert, die sich zum Teil widersprechen. Daher ist es unabdingbar, dass im Rahmen eines Projekts alle Entwickler nach dem gleichen Programmierstil entwickeln, damit jeder sich gleichermaßen im Quelltext zurechtfindet. Ferner muss die IDE entsprechend konfiguriert werden, damit eine Datei nicht nach jeder Bearbeitung komplett neu formatiert wird. In diesem Beitrag möchte ich beschreiben wie wir einen eigenen Coding Standard für den PHP CodeSniffer erstellt haben. Weiterlesen

Enslaving eZ Publish

Web applications of all sizes rarely come without the need for editable text content. Implementing a complete content editing solution might yet be still oversized. So why not make use of one of the better known content management solutions available to the open source community – eZ Publish?

As a full blown content management system, eZ Publish does not only supply a quite powerful content repository, but also an ideally tailored content editor that supports all relevant features such as content versioning, publishing workflow or roles and permissions management.
Weiterlesen

Erstellen einer flexiblen Projektstruktur für Symfony2 und AngularJS

Symfony2 im Backend und AngularJS im Frontend, das war die Wahl für ein internes Projekt zur Teamplanung bei meinem Praktikum im September/Oktober 2013.

Eine besondere Herausforderung von Zusammenfügen der beiden Frameworks, sodass sie angenehm miteinander harmonieren, da beide ihr eigenes Routing mitbringen.
Soll hier Symfony das Routing übernehmen oder soll AngularJS das alles regeln? Brauche ich eine spezielle Webserverkonfiguration?

In diesem Artikel möchte ich beschrieben, wie die Projektstruktur aussehen muss, damit Symfony2 und AngularJS bequem zusammen spielen und es keine Kompilkationen mit Updates und dem Deployment gibt. Weiterlesen

Laravel 4 – Static or not static. That is the question.

Als ich das erste Mal das noch zu unbekannte Framework Laravel vor der Nase hatte, sind mir sehr schnell die statischen Zugriffe der API aufgefallen. Wo sich viele qualitätsbewusste Entwickler heutzutage die „und wie soll man das testen“ Frage stellen, stand ich hier vor verschlossenen Türen.

THE PHP FRAMEWORK FOR WEB ARTISANS.

Hier scheint sich Laravel 4 eines uns sehr gut bekannten Design Patterns zu bedienen. Die Rede ist von einer Facade. Jede Klasse welche scheinbar statische Methoden bereitstellt, erbt von einer „Facade“-Klasse. Wenn wir also „Config::get(‚database‘)“ aufrufen, wird eine fast leere Facade benutzt. Diese kennt lediglich ihren Accessor (facadeAccessor = ‚config‘) und erweitert entsprechend die Laravel Facade. Die eigentliche Implementierung der genutzten Methode ist dort also gar nicht enthalten.

Das führt uns zu zwei Fragen:

  • Welche Klasse wird bei dem Genannten nun wirklich aufgerufen?
  • Und woher kennt die Facade augenscheinlich diese Klasse?

Nun dann schauen wir mal genauer hin.

Weiterlesen

Mayday, mayday! We are blinking!

Logo-v2

For some time now, we at Mayflower can have slack time on every second friday. All colleagues who do not have urgent projects for our customers can choose to improve their knowledge, do some opensource development or just try out something cool and nerdy.

The Idea

blinkenpi-spot

First, we ordered some Raspberry Pis to test out their capabilities. Since we developed the new Steinigke webshop, we have a good source at hand for light and sound equipment. So we settled for some DMX experiments together with our customer.

Weiterlesen

Testing: how to get reliability and efficiency

We have been talking with Toby of qafoo fame about testing strategies:
How we need to craft architecture and design in order to significantly reduce the cost for tests. How to escape from the trap of the inner-platform antipattern, where we need to provide all infrastructure and business models with an ugly, mocked twin. Simply: How to efficiently write tests? And how to avoid that everyone hates them within 10 months, so that they would rather deactivate them instead of fixing them.
Please click here to read „Testing: the sweet spot“

Unsere Speaker Johann-Peter Hartmann und Sebastian Springer über die IPC

Die International PHP Confernce (IPC) ist der seit mehr als einem Jahrzehnt der Treffpunkt für internationale PHP-Experten und erfahrene Consultants, um ihr Know-how zu verbreiten. Als weltweiter Pionier auf diesem Gebiet steht die IPC für professionelle Vorträge und auch Workshops im PHP- und im Webumfeld. Im Folgenden könnt Ihr erfahren, wie unsere Speaker Johann-Peter-Hartmann, CTO der Mayflower GmbH und Sebastian Springer, Teamleiter und Senior Developer ebenfalls bei Mayflower, die Konferenz erlebt haben.

Weiterlesen

So wird ein Coding Dojo zu einer ernstzunehmenden Lernveranstaltung

Was sich im Ruby- und Java-Umfeld schon lange etabliert hat, findet langsam auch in unserer (PHP- & JavaScript-) Welt seinen Platz- Coding Dojos! Die Idee vom gemeinsamen Programmieren in der Form eines Coding Dojos kommt vom Autor von The Pragmatic Programmer, David Thomas. Er sagt: „Developers should practise on small, not job related code base repeatedly so that they can master their profession like musicans“. Der Autor möchte dabei nicht zur Nutzung des JavaScript-Toolkits Dojo anregen, sondern vielmehr zum gemeinsamen Coden an kleinen Aufgaben, den Katas. Folgt die PHP- und JavaScript Community einem Hype aus dem Umfeld anderer Programmiersprachen oder kann wirklich jeder etwas in einem Coding Dojo lernen? Dieser Artikel erklärt, was es mit Coding Katas auf sich hat und wie ein Coding Dojo gestalltet werden sollte, damit jeder Teilnehmer dabei etwas lernen kann. Weiterlesen