Alles rund um Magento!

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.

Mit den aktuellen PHP-Frameworks wurde der sogenannte Service Locator eingeführt. Die Aufgabe des Service Locator ist die Auflösung und Instantiierung von Abhängigkeiten zu einem Service intern durchzuführen. Dadurch können Objektinstanzen über einen Service erstellt werden, ohne dass dabei der Boilerplate Code zur Auflösung der Abhängigkeiten in der Business Logic hinzugefügt werden muss. Weiterhin sorgt der Service Locator für eine einzige Instanz des aufgerufenen Services innerhalb eines Requests, um unnötige Objekterzeugungen zu vermeiden, ohne dabei die Nachteile eines klassischen Singletons mit sich zu bringen.

Die bequeme Handhabung des Service Locator hat jedoch im Laufe der Zeit die Verwendung von Dependency Injection in Richtungen gelenkt, die zwar technisch schnell umsetzbar sind, aber dessen Sinn nicht ganz folgen. Aus dem Auflösen von Abhängigkeiten wurde ein buntes Zusammenwerfen von Klassen.

weiterlesen »

eval is evil – Stimmt das?

Schon von früh auf wird einem PHP-Programmierer beigebracht, das Sprachkonstrukt eval zu meiden. Dieses führt einen als String übergebenen PHP-Code aus und behandelt diesen wie regulären Code des Projekts. Bereits die PHP-Dokumentation führt aus, dass von der Verwendung dringend abgeraten wird.

Die Gefahr, die in eval steckt, lässt sich sehr einfach darstellen:

< ?php
eval($_POST['textarea_value']);

In diesem Beispiel lässt sich im Formularfeld textarea_value jede versendete Eingabe als PHP-Code ausführen und ermöglicht es einem Angreifer, auf einfache Weise Schaden anzurichten. Natürlich ist die Verwendung und die Gefahr von eval für gewöhnlich nicht so offensichtlich wie in diesem Beispiel, sondern steckt viel mehr in Details, die man als Programmierer übersehen hat. Bevor sich ein Programmierer Gedanken darüber macht, welche Angriffsvektoren in seinem Code durch eval möglich sind und abgefangen werden müssen, lässt er lieber die Finger von dem Sprachkonstrukt. eval is evil.

Aber warum nutzen wir dann Sprachen oder Funktionen, die nicht weniger gefährlich sind? Und wenn eval wirklich so böse ist, wieso wird es in vielen Libraries und Frameworks eingesetzt?

weiterlesen »

Magento – Gutscheine und Aktionen im Warenkorb promoten ohne eine Zeile Code

Wenn Kunden beim Online Shopping Deine Produkte im Warenkorb prüfen, kann ein gut platzierter Gutschein oder Aktionsbanner den entscheidenden Impuls für den Abschluss des Kaufs geben. In der Magento Enterprise Edition lässt sich dies mit Bannern und Warenkorb-Preisregeln realisieren. User der Magento Community Edition benötigen hierfür zusätzliche Module, einige davon findet man in Magento Connect wenn man nach „Promo Banner“ sucht. Dieser Artikel erklärt Dir wie Du die Banner mit der Magento Enterprise Edition realisieren kannst ohne ein Template anzupassen bzw. eine Zeile PHP-Code schreiben zu müssen.

Folgende Schritte sind für die Gutscheine und Aktionen im Warenkorb notwendig:

  1. Einen statischen Block erstellen
  2. Ein neues Widget anlegen
  3. Den Banner hinzufügen
  4. Eine Warenkorbpreisregel definieren
  5. Das Ergebnis prüfen

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.

Glücklicherweise bieten PHP-Frameworks inzwischen Werkzeuge dafür an, jedoch hat sich im Verlauf der Wechsel von Major Releases einiges geändert. Informationen zur Internationalisierung und Lokalisierung sind z.T. aus den Frameworks entfallen. Wo Zend Framework 1 noch mit Zend_Locale, seinen Unterklasse und Data XML-Dateien aufwartete, hat der Nachfolger Zend Framework 2 sich ganz von dem Locale Namespace getrennt. Viele der darin enthaltenen Funktionalitäten konnten nun von der Intl PHP-Extension übernommen werden.

Die Intl PHP-Extension bietet mehrere Klassen und Funktionen an, mit der länderspezifische Formatierungen, Sortierungen und Zeitinformationen umgesetzt werden können und ist somit ein Tool, welches schon seit Langem zu jeder guten PHP Installation dazugehören sollte.

Infomationen zur Verwendung der IntlCalendar-Klasse wurden bereits hier erläutert.

Die Unterschiede der verschiedenen Länder sind jedoch so umfangreich, dass früher oder später der Entwickler einen Punkt erreicht, an dem auch die Intl Extension keine passenden Daten bietet. Oder doch?

weiterlesen »

Conversion Experte Karsten Wesch beim 17. E-Commerce Stammtisch

In Hinblick auf den 17. E-Commerce Stammtisch am kommenden Mittwoch, 03. September 2014, möchten wir Euch heute unseren Referenten Karsten Wesch vorstellen.

Karsten Wesch – Conversion Experte

Flagbit: Hallo Karsten :-)

Stell dich bitte kurz vor: Wie bist du in die Online Marketing Branche und zur Webanalyse gekommen? Wo hast du bisher Erfahrungen gesammelt und was machst du aktuell?

Karsten Wesch: Insgesamt bin ich seit über fünf Jahren im Bereich Digital Analytics tätig. Nach 2,5 Jahren bei der NAVIGON AG hat es mich zur Tchibo GmbH verschlagen. Dort betreute ich die Implementierung und Weiterentwicklung der Webanalyse, sowie AdHoc-Analysen und Conversion-Optimierung mit.

Seit 2012 habe ich mein eigenes Unternehmen, mit dem ich im Juli 2014 in die Selbstständigkeit gegangen bin.

Ich erkläre gerne bildhaft, was ich mache. Kennst du MacGyver? Ich verstehe mich ein bisschen als den MacGyver der Digitalanalyse. Gib‘ mir einen Kaugummi und ich bastel‘ dir drei Handlungsempfehlungen zur Optimierung daraus.

Zusätzlich bin ich ehrenamtlich in der Digital Analytics Group Ressortleiter im Bereich Nachwuchsförderung. Unsere Aufgabe ist es, Neulinge in der Digitalanalyse zu unterstützen und mit dem Basiswissen zu versorgen, das sie für ihre Arbeit brauchen.

weiterlesen »

Flagbit Magento Modul ist aktueller Magento Staff Pick

MagentoConnectStaffPicksDas 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.

Die Erweiterung von Flagbit ermöglicht, ein bestehendes Attribut-Set zu verändern. Damit erweitert sie Magento um eine Funktion, die viele im Standard-Funktionsumfang vermissen. Veröffentlicht wurde die Extension von Flagbit bereits 2008 und steht heute in Version 2.0.0 zur Verfügung. Mit einer durchschnittlichen Bewertung von 4,6 von 5, sowie einem Popularity Score von 24108, ist sie einer der erfolgreichsten und am weitesten verbreiteten Module für Magento . Das Modul ist kostenlos im Magento Connect verfügbar und kann sowohl in der Community –Edition als auch der Enterprise-Edition eingesetzt werden.

 

Besuch von eFulfilment Transaction Services GmbH

logo-efulfilDie eFulfilment Transaction Services GmbH mit Sitz in Ludwigsburg ist Experte für MultiChannel eBusiness.

Die Magento Online-Shops die Flagbit als E-Commerce Agentur aufbaut und pflegt, bilden einen dieser Channel. Aus diesem Grund war eFulfilment bei Flagbit in Karlsruhe zu Gast und stellte sich vor.

 

Die eFulfilment Plattform bietet systemübergreifende Lösungen für diverse E-Commerce-Prozesse. Kunden ist es möglich sowohl ihre Online-Shops, als auch ihre Marktplatzaktivitäten, Logistik-Partnerschaften, Filialen und Payment-Anbieter an die eFulfilment-Software anzubinden, alles mit dem Ziel der Prozessvereinfachung.

weiterlesen »

Amazons neue Produktanzeigen

Auch in Deutschland wurden seit Ende letzten Jahres die Amazon „Produktanzeigen“ (APA) freigeschaltet. Es handelt sich um ein neues Werbeformat von Amazon, mit dem Onlinehändler ihre Produkte bewerben können ohne direkt bei Amazon zu verkaufen.

Welcher Online Shop Betreiber wünscht sich nicht mehr Traffic und neue Besucher auf der eigenen Webseite? Meistens fällt es den Kunden aber schwer den Weg zum Shop „von allein“ zu finden. Viele User nutzen mittlerweile Amazon als Suchmaschine wenn sie nach einem Produkt suchen. Aus diesem Grund bieten die neuen Produktanzeigen beste Voraussetzungen für zusätzlichen Amazon-Traffic und um neue Kunden mit vorhandener Kaufabsicht in die eigenen Shops zu lenken.

Wie funktioniert das Ganze?

wie-es-funktioniert1

 

weiterlesen »

Logistik im E-Commerce

In Zeiten des stetigen Wachstums von Online-Handel spielt die Logistik eine tragende Rolle für den E-Commerce Erfolg. Online-Shops brauchen optimal in die Prozesse eingebundene Logistiklösungen, um die Kundenbedürfnisse auch über die eigentliche Kaufhandlung im Shop hinaus zu befriedigen. Die jüngst veröffentlichten schwarzen Quartalszahlen von Zalando lassen sich auch auf Verbesserungen in diesem Bereich zurückführen.

Im Rahmen des E-Commerce Stammtisches, der diese Woche (Dienstag, 22.07.) im DHL Paketzentrum stattfinden wird, möchten wir einige Aspekte dieses Erfolgsfaktors im E-Commerce beleuchten.

 

weiterlesen »

SSL-Zertifikatsauthentifizierung für Composer

Composer Logo 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:

  • Um Zertifikatsanfragen signieren zu können muss ein Root-Zertifikat bei der Zertifizierungsstelle (CA Zertifikat) erstellt werden.
  • Um SSL benutzen zu können muss ein Zertifikat für den Server erstellt werden.
  • Ein Zertifikat für jeden Client erstellen, um jeden Client authentifizieren zu können.
  • Konfigurieren des Apache-Servers, um Zertifikatauthentifizierung verwenden zu können
  • Konfigurieren der Clients, in unserem Fall Composer, um Zertifikatauthentifizierung verwenden zu können.

weiterlesen »

Page optimized by WP Minify WordPress Plugin