Ein Weblog über Technik

Als ersten Parameter von window.setTimeout() kann auch ein Funktionszeiger (function pointer) anstatt eines Strings übergeben werden. So ist es möglich, die nach dem Timeout aufgerufene Funktion mit beliebigen Parametern zu versorgen, wie in folgendem Beispiel gezeigt ist. var elementId = this.id; // oder irgend ein anderer Wert window.setTimeout(function() { macheWas(elementId) }, 1000); Hier wird die [...]

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: [...]

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 [...]

Bei der Erstellung von JSPs entstehen im generierten HTML oft viele sinnlose Leerzeichen und leere Zeilen. Ab Tomcat 5.5 kann man diesen überflüssigen Whitespace automatisch per Konfiguration heraus filtern. Dazu kann, wie in folgendem Code-Ausschnitt gezeigt, in der $CATALINA_HOME/conf/web.xml dem “jsp”-Servlet der init-param “trimSpaces”, hinzugefügt werden. <init-param> <param-name>trimSpaces</param-name> <param-value>true</param-value> </init-param> Das Resultat ist kompakteres HTML. Etwas [...]

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 [...]

Die 1.3er Version von jQuery ist, zumindest unter OS-X mit Firefox, wesentlich schneller als die Vorgänger-Version 1.2. Kurz nach dem Laden einer HTML-Seite entsteht nun nicht mehr diese ärgerliche Rechenpause bei der der Browser kurz hing. Ein Upgrade lohnt sich.

Jeder, der Web-Anwendungen erstellt oder betreibt, kennt es. Wenn ein Web-Formular nach 2 Sekunden noch nicht verarbeitet ist, klickt der Benutzer gerne ein weiteres mal auf den “Senden”-Button und erzeugt so einen weiteren Request. Da HTTP asynchron und verbindungslos ist, ist es gar nicht so einfach eine solche doppelte Formularversendung zu erkennen. Session synchronisieren und [...]