search
keyboard_arrow_up

Wie Services das Dependency Injection Verhalten der Entwickler beeinflusst haben

Spätestens seit der stetig wachsenden Popularität von Unittests, besonders durch PHPUnit, bekam die Auflösung der Abhängigkeiten von Klassen durch Dependency Injection in PHP eine immer größere Rolle im Alltag der Entwickler. Klassen, welche eine oder mehrere Abhängigkeiten zu anderen Klassentypen haben, bekommen diese bei ihrer Erzeugung über den Konstruktor oder zur Laufzeit über Methodenaufrufe übergeben. Dadurch verbessert sich die Wartbarkeit der einzelnen Klassen und Abhängigkeiten lassen sich bei geänderten Anforderungen leichter austauschen. Ebenfalls verbessert sich die Testbarkeit der einzelnen Komponenten, bei der Abhängigkeiten von Klassen durch einfache Test Doubles ersetzt werden können. Ein Nachteil jedoch ist vermehrter Boilerplate Code, wenn an verschiedenen Stellen im Projekt immer die gleichen Objekte erzeugt werden müssen, um die gleichen Abhängigkeiten abzudecken. Weiterlesen

Erstellen und Auslesen eigener internationalisierter Ressourcen

Die Internationalisierung von Webprojekten ist ein Thema, dass in der Entwicklung schon sehr früh bedacht werden sollte. Selbst wenn in einem Projekt anfangs noch keine Pläne dafür vorliegen, ist es nicht gesagt, dass dies immer so bleiben wird. Weiterlesen

Flagbit Magento Modul ist aktueller Magento Staff Pick

Das Magento Marketing Team veröffentlicht regelmäßig den „Magento Connect Staff Pick“. Dafür wählt Magento die besten Erweiterungen aus dem Magento Connect aus, und präsentiert sie.
Im aktuellen Magento Connect Staff Pick vom 07. August 2014 wurde auch die Erweiterung „Change Attribute Set“ von Flagbit ausgewählt und näher vorgestellt. Weiterlesen

SSL-Zertifikatsauthentifizierung für Composer

Dieser Artikel erklärt wie man SSL-Zertifikate verwenden kann, um Composer per SSL-Zertifikat zu authentifizieren. Das ist wahrscheinlich die beste Möglichkeit, wenn man einen Server mit privaten Repositories hat und die Berechtigung kontrollieren möchte. Dafür muss man einfach die nächsten Schritte befolgen: Weiterlesen

Beacons – Die heimlichen Helfer der Webseitenbetreiber

Wir alle kennen Cookies, die uns eine Vielzahl von Informationen über unsere Kunden und Interessenten unserer Seiten, Produkte und Dienstleistungen liefern – doch was sind eigentlich diese sogenannten „Beacons“, von denen gerade immer mehr Entwickler und Marketer sprechen? Weiterlesen

Annotations in PHP

So ziemlich jeder ist schon einmal auf die sogenannten Annotations in PHP-Klassen gestoßen: Metadaten zu Methoden oder Properties, welche zur Laufzeit wie von Zauberhand plötzlich Bestandteil von PHP-Code werden können. Besonders bekannt sind die Annotations von phpDocumentor, welche zu einer kleinen Dokumentation des Codes ausgewertet werden können. Die Annotations zu einer Methode sehen bei phpDocumentor zum Beispiel so aus: Weiterlesen

Locale-Falle mit IntlCalendar::fromDateTime()

Mit PHP 5.5 wurde auch die Extension für die Internationalisierung um neue Klassen erweitert. Eine besonders interessante Erweiterung ist die Klasse IntlCalendar, in der verschiedene neue Funktionen bereitgestellt werden um mit Lokalisierungen von Jahren, Wochen oder Tagen umzugehen zu können. Dabei handelt es sich jedoch nicht um Besonderheiten in der Darstellung von Zeit, sondern mehr um deren Betrachtung. In Deutschland sehen wir den Montag als Anfang der Woche an während es in den USA der Sonntag ist. Ebenso wird dank der Lokalisierung bei der Erstellung eines IntlCalendar-Objekts die Auswahl zwischen gregorianischem und julianischem Kalender abgenommen. Das Ganze funktioniert aber auch nur, wenn die Lokalisierung stimmt. Weiterlesen

Doppelte Rewrites für Models, Blocks und Helper

Magento bietet einen standardisierten Mechanismus an, um Core-Funktionalitäten innerhalb von Kunden-Modulen zu überschreiben, sogenannte Rewrites. Die Definition dessen passiert innerhalb der config.xml innerhalb eines Moduls. Wir haben das hier beispielhaft am Produkt-Modul von Magento durchgeführt. Weiterlesen