Ein Weblog über Technik

Magento bietet einen hervorragenden Datenbank-Abstraktionslayer. Und im Allgemeinen sollte man diesen Layer auch für Datenabfragen und vor allem für Datenmodifikationen im Magento-System nutzen. Manchmal ist es aber doch der einfachste und performanteste Weg, wenn man direkt per SQL auf die Datenbank zugreifen kann. Das geht auch in Magento, und zwar auf folgende Weise. $sql = [...]

Pear ist zwar bei XAMPP mit dabei, aber, zumindest in Version “XAMPP für Mac OS X 1.0.1″, nicht funktionstüchtig. Dieser Umstand lässt sich mit folgenden Schritten beheben. 1. Im Terminal folgende Befehle ausführen sudo /Applications/XAMPP/xamppfiles/bin/pear channel-update pear.php.net sudo /Applications/XAMPP/xamppfiles/bin/pear install PEAR 2. In den letzten Zeile der Konfiguration /etc/php.ini ;***** Added by go-pear include_path=”.:/Applications/xampp/xamppfiles/lib/php” ;***** [...]

Wenn eine PHP-Klasse die Methode __call() besitzt, wird diese beim Versuch eine nicht existierende Methode aufzurufen, aufgerufen, anstatt einen Fehler zu erzeugen. Im ersten Parameter steht dann der Name der Methode und im zweiten Parameter stehen die Argumente die an die nicht existierenden Methode übergeben wurden… Soweit, so klar. Wird __call() aber über parent:: aktiviert, [...]

Ich mag NetBeans zur PHP-Entwicklung. Allerdings scannte NetBeans 6.7 nach dem Start zunächst sehr lange die Dateien des Sourcecodes (“Scanning Projects…”). Vor allem, wenn man auf einem gemounteten Serverlaufwerk arbeitet. Wenn man während des Scannens Änderungen am Code macht, bleibt NetBeans meist hängen, was den langen Scan ärgerlich macht. Um die Geschwindigkeit von NetBeans zu [...]

Dieser Artikel zeigt, wie man einfach einen xdebug-Debugger unter XAMPP zum Laufen bekommt und diesen dann von NetBeans aus nutzen kann. Dieses Verfahren wurde unter OS-X Leopard mit XAMPP 1.0.1 für Mac OS X ausprobiert. 1. xdebug-Erweiterung in XAMPP kopieren Wer die xdebug-Erweiterung nicht selbst kompilieren möchte, kann sie hier für OS-X Leopard (Intel) herunterladen: [...]

Um auch größere Projekte mit NetBeans programmieren zu können, ist es sinnvoll, den für NetBeans verfügbaren Speicher zu erhöhen. Die hier beschriebene Methode habe ich unter OS-X Leopard ausprobiert. Mit anderen Betriebssystemen ist die Vorgehensweise wahrscheinlich ähnlich. In dem Verzeichnis /Applications/NetBeans/NetBeans 6.5.app/Contents/Resources/NetBeans/etc findet man die Datei “netbeans.conf“, in der auch Parameter der Java-Laufzeitumgebung konfiguriert werden [...]

Wenn man in CakePHP einen Controller erstellt, ohne, dass man die zugehörige Datenbanktabelle anlegt, bekommt man die Fehlermeldung ”Database table for model was not found”. Um diese Fehlermeldung zu umgehen und einen Controller zu erstellen, der kein direktes Model nutzt, ist es jedoch möglich, wie im nachfolgenden Code-Schnipsel gezeigt, den Klassenparameter $uses auf null zu setzen.  class [...]

CakePHP kann zwar mit UTF-8 umgehen, allerdings werden die Daten nicht als UTF-8 in der MySQL-Datenbank gespeichert. Datensätze sehen dann beispielsweise so aus: “Bündnis 90 Die Grünen”. Im Konstruktor des AppModel (“/app/app_model.php”) kann man dieses Problem aber beheben, indem man “SET NAMES ‘UTF8′” ausführen lässt, bevor andere Abfragen an die Datenbank gestellt werden. class AppModel [...]

Grob gesagt ist CakePHP ein MVC-Framework in PHP. Es unterstützt Validierung, Internationalisierung und bietet eine automatischer Objektserialisierung in die Datenbank. Mit CakePHP kann man Model, Controller und Views generieren backen. Besonders praktisch ist, dass man mit CakePHP die notwendigen Objekte und Seiten für ein voll funktionstüchtiges CRUD (Change Read Update Delete) inklusive Admin-Interface erstellen kann.  Seit ich [...]

Mit zwei einfachen Zeilen in der .htaccess lässt sich der Inhalt von PHP-Seiten bei der Auslieferung automatisch gzippen, was zu einer Reduzierung der Seitengröße um bis zu 90% führen kann. php_value output_buffering On php_value output_handler ob_gzhandler Diese Konfiguration lässt sich auch mit folgenden Zeilen in der php.ini durchführen. output_buffering = On; output_handler = ob_gzhandler; …oder direkt [...]