Privates Blog von Christian Münch

Erfahrungen mit den Magento Enterprise Edition 1.9 Updates

Diese letzten zwei Wochen hatte ich das “Vergnügen” zwei Magento Shops auf die Version 1.9 der Enterprise Edition zu hieven. Ich möchte hier einige Erfahrungen zusammenfassen.

Die neue Version enthält nicht mehr den mit in Version 1.8 eingeführten verschlüsselten Code. Es muss also kein IonCube Encoder Modul mehr auf allen Plattformen installiert werden. Man hat also bei Varien (oder wie es neuerdings heißt Magento Inc.) festgestellt, dass der eingeschlagene Weg schlecht war und die Entwickler und Administratioren einfach nur genervt hatte.

D-Bus unter PHP nutzen

Cover Image

Das unter Linux benutzte D-Bus System wird meistens via Python angesteuert. Man kann D-Bus allerdings auch mit PHP über die PECL Extension “dbus” nutzen. Im folgenden Artikel beschreibe ich kurz wie man mit PHP das Notizprogramm Tomboy ansteuern kann und alle Notizen auslesen kann.

DBus für PHP installieren

Zum Starten muss zuerst über den PECL Installer das PHP Modul installiert werden. Ich nutze das aktuelle Ubuntu Linux 10.04 mit installiertem PHP. Unter Ubuntu sollte der PECL Installer bereits vorinstalliert sein. Ansonsten kann dieser mit PEAR installiert ausgeliefert werden.

Memory Limit in Zend Studio 7.1.1 für Debugger/Profiler erhöhen

Beim Debuggen / Profile mit ZendStudio gerät man schnell an Grenzen. Zum Beispiel wenn man die Kategorieseite des Magento Shops profiled.

Wer hier auch Probleme hat und ein wenig RAM im Rechner für PHP bereitstellen kann sollte die php.ini des Debuggers anpassen. Diese findet Ihr im Verzeichnis
“./plugins/org.zend.php.debug.debugger.linux.x86_64_5.3.7.v20091116/resources/php5/php.ini” des Studio Installation (bei mir aktuelle Version 7.1.1).

Dort einfach das memory_limit setzen.

z.B.

memory_limit=1024M

Danach “kurz” das ZendStudio neu starten.

Die Version 1.10.0 des Zend Frameworks vorgestellt

Zend Framework

Der Reference Guide

Das Handbuch hat ein komplett neues Kapitel bekommen das Anfängern den Einstieg erleichtern soll. Das Kapitel gibt praktische Tipps für den Umgang mit Basiskomponenten wie z.B. der View, Session oder zum Thema Authentifizierung. Alles ist mit kleinen Codebeispielen unterlegt. Hier gilt dem gesamten Zend Framework Team ein Dank. Das Kapitel eignet sich in Kombination mit dem Quick Start Tutorial um z.B. neue Mitarbeiter mit dem neuen Framework vertraut zu machen.

Manege frei für das Zend Framework 1.8

Zend Framework

Das neue Framework 1.8 ist nun raus… *freu* Hier eine grobe Liste meiner Erfahrungen mit der Version 1.8 die ich seit einer Woche benutze. Die Liste ist nicht vollständig soll aber trotzdem einen kurzen Überblick über neue Dinge in der Version 1.8 geben. Für mich besonders auffällig ist das Bestreben aus dem Zend Framework jetzt wirklich ein Framework zu machen. Die Kritik dass, es nur reine Sammlung von PHP Klassen wäre kann nun seit der Version 1.8 nicht mehr gelten.

Meine Facebook Abmeldung

Aus beruflichen Gründen benötige ich einen Facebook Zugang um Anwendungen zu entwickeln und zu testen. Beim Ausprobieren dachte ich mir “Wo kann ich eigentlich einen Zugang wieder löschen bzw. deaktivieren”?

Das geht ganz einfach. Unter “Einstellungen” in der Hauptnavigation und dann unter “Kontoeinstellungen” gibt es ganz unten den Link “Konto deaktvieren”.

Das geht ja einfach dachte ich. Dann mache ich das doch mal. Doch das Abmelden wird einem nicht leicht gemacht. Als erstes bekommt man in das Gewissen geredet “Die folgenden Freunde werden dich vermissen”.

Gebt dem IE6 den Gandenstoß!

Das der IE6 jeden Web-Entwickler nervt ist nichts neues. Aber was soll man machen, wenn der “Browser” immer noch 10-20% Marktanteil hat?

Viele Benutzer wissen nicht, dass es überhaupt andere Browser wie die installierte Krüppelsoftware aus dem Hause Microsoft gibt. Aus diesem Grund hat sich jetzt eine Intiative gegen den IE6 gegründet. Eine ausführliche Beschreibung ist in einem Artikel auf gulli.de zu finden.

Inzwischen gibt es auch ein Wiki der Initaitive. Dort kann man ein Stück Code (CSS-Conditional-Comment) kopieren, dass jedem IE6 Benutzer ein kleines Fenster mit einem Update-Hinweis einblendet. Inwischen gibt es auch z.B. ein Plugin für Wordpress und Drupal, dass die Integration vereinfacht.

Bundestrojaner V1.0 fertiggestellt

Das Bundeskriminalamt hat die erste Version der Software fertiggestellt. Jetzt fragt sich natürlich jeder. Läuft die Spionagesoftware auch auf meinem Rechner?

Die Antwort ist JA …

… sagt zumindest Jörg Zierke. Und der ist immerhin der Chef des Bundeskriminalamts.

In einem Interview des Sterns sagt er nämlich das der Aufwand beachtlich ist “weil wir jeweils eine eigene Software entwickeln müssen”. Diese “Remote Forensic Software (RFS)” sei “eine Software, die immer nur für den Einzelfall erarbeitet wird, ein Unikat, das speziell auf die Rechner-Umgebung eines Verdächtigen zugeschnitten wird.”

Inkonsistente Interfaces in PHP5

Diese Woche konnte ich eine neue Erkenntnis über die Interfaces von PHP5 erhalten.
Ich bin immer davon ausgegangen, dass die Interfaces in PHP5 sehr strikt gehandhabt werden.
Als ich im Code der Zend Framework Form Komponente stöberte fiel mir auf, dass innerhalb
der Formular Elemente beim Validieren von Daten die isValid Methode der Validatoren aufgerufen
wurden. Soweit nichts besonderes. Die Zend Validatoren implementieren das Interface
Zend_Validate_Interface. Diese gibt genau drei Methode vor, die zu implementieren ist.
Unteranderem die besagte “isValid” Methode die in den Formularen genutzt wird.
Diese Methode hat die folgende Signatur.

Innerhalb eines View-Helper einen anderen Helper nutzen

Da ich immer mal wieder mitbekomme das einige nicht wissen wie man innerhalb eines View Helpers einen anderen Helper aufrufen bzw. nutzen kann gebe ich hier ein kurzes Beispiel.

Wichtig ist das man die eigene Klasse von Zend_View_Helper_Abstract ableitet. Das ist wichtig da die Basisklasse die Eigenschaft “view” bereitstellt und die Methode setView(). Die Methode ist wichtig da diese via “Setter-Injection” befüllt wird. Das heisst das die Funktion automatisch die View innerhalb der Methode “_getPlugin” in der Zend_View Klasse übergeben bekommt. Man muss sich also nicht mehr um das übergeben der View kümmern. Einfacher geht’s eigentlich nicht.