FrOSCon wird 10 – Die Familie kommt zusammen

Am vergangenen Wochenende war es wieder so weit. Die FrOSCon stand an. Auch wenn diese Konferenz immer etwas ganz besonderes ist, war es in diesem Jahr ein noch größeres Highlight im Konferenz-Kalender. Denn die FrOSCon wurde 10. Anlässlich des Jubiläums fanden sich recht namenhafte Größen der Web-Entwicklung ein. Der Hauptanziehungspunkt war für mich auch in diesem Jahr wieder der PHP-Raum. Sebastian Schaum und Kore Nordmann haben ausgezeichnete Arbeit geleistet und einen Schedule zusammen gestellt, der es einem schwer gemacht hat den Raum überhaupt zu verlassen.

Weiterlesen

Run your tests with PHPStorm on your vagrant box

At Mayflower we usually use virtual machines managed with vagrant for our development environments. Though it was surprising to me, that I have hardly ever seen someone taking the time to investigate how to configure PHPStorm properly, so that it plays nice with the virtual machine in use. Thats why I want to show you a sample configuration via the SFTP-Deployment + Remote Interpreter capabilities of PHPStorm, where you won’t even recognize anymore that you are not working on your host system. This configuration is not only valid for a VM managed with vagrant, but with any other as well.

Weiterlesen

Besuch der unKonf 2015 in Mannheim

Am Samstag den 18.04.2015 wurde in Mannheim zum zweiten mal die sogenannte unKonf in den Räumlichkeiten der Kollegen von bitExpert ausgerichtet. Ich war wie auch schon im Vorjahr vor Ort.
Eine unKonf(-erenz) zeichnet sich wie eine Art Barcamp dadurch aus, dass es zuvor keine festen Session gibt. Jeder der Teilnehmer kann in einem Grooming Vorschläge einreichen. Man wird sogar dazu aufgefordert. In diesem Jahr belohnte der dpunkt.verlag jeden Redner mit einem Buchgutschein.
Über 18 Talks in 6 Slots verteilt auf 3 Lokalitäten wurde abgestimmt. Nachdem es im letzten Jahr gewünscht wurde, konnten diese nun in einer eigens für die unKonf entwickelten App (Android, IOS und HTM5) von jedem Teilnehmer eingesehen werden.
Eine Änderung bei den Sessions gab es jedoch. Es wurde eine Keynote eingeführt. Gehalten wurde diese von Stefan Koopmanschap, den man besser unter seinem Twitter Handle @skoop kennt.

Weiterlesen

Performant Handling of Excel Files in PHP

When you look at Excel solutions for PHP, the first thing you find is PHPExcel, digging a little bit further lets you find libXl. The prior is a pure PHP solution, the latter a native library for a couple of operating systems. There is a PHP extension that exposes this library to PHP, so you can do the same things with it that you can do with PHPExcel.

TL;DR: PHPExcel is nice, libXl with php_excel can do the same WAY faster. Use the Diagrams below to convince your customer/boss/CFO to invest in performance.

Weiterlesen

git rebase vs git merge

I am working now with git for about 1 year. The question when to use a git rebase and when to use a git merge always lead to confusion for me. To clarify this I want to show you what a git rebase really is, what advantages we can leverage from it and how to use it safely. Weiterlesen

eZ Publish 5 Templating – Teil 3: Ein eigenes Layout

Nachdem Teil eins und zwei dieses Tutorials die Grundlagen gelegt haben, soll es in diesem Teil darum gehen, die speziellen Eigenheiten von eZ Publish, namentlich die ehemals in der ezflow-Extension, neuerdings im Page-FieldType untergebrachten Mittel zur Organisation und Strukturierung einer Seite zu nutzen.

ezflow-to-Page (stage_4)

Die Organisation des Contents auf einer Seite ist im Legacy-Stack von eZ Publish in der Regel über die Extension „ezflow“ realisiert. In der Symfony2-Welt wurden deren Strukturen in den „Page“ FieldType übernommen. Im Wesentlichen handelt es sich dabei um die Gruppierung von ContentObjekten einer Seite in „Zones“, die die Grobgliederung der Seite erlaubt. „Zones“ enthalten ihrerseits „Blocks“, in denen wiederum einzelne ContentObjekte untergebracht werden. In einem „Block“ werden also zum Beispiel Listen aktueller Beiträge oder Ähnliches realisiert. Weiterlesen

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