PHP_Codesniffer Version 1.3.2

January 29th, 2012 ron Posted in PHP No Comments »

Der PHP_Codesniffer, der zur Qualitätskontrolle von Quellcode eingesetzt wird, liegt ab sofort in der Version 1.3.2 vor. In der neuen Version wurden wieder viele Verbesserungen umgesetzt. Unter anderem werden nun durchgängig relative Pfade und mehrteilige Dateinamenerweiterung, wie zum Beispiel .html.php von Kommandozeilen Argumenten verarbeitet. Bestehende Sniffs wurden erweitert und durch weitere, neue ergänzt.

Eigenentwickelte Sniffs sollten vor dem Update auf Code-Kompatibilität geprüft werden.

AddThis Social Bookmark Button

PHP 5.4 RC1 veröffentlicht

November 13th, 2011 ron Posted in PHP No Comments »

PHP 5.4 ist als Release Candidate eins veröffentlicht worden. Die Version ist zum Testen der neuen Funktionen gedacht, die in PHP 5.4 eingeflossen sind. Bis zur Beseitigung aller Fehler wird es keine weiteren Veröffentlichungen und auch keine neuen Funktionen geben.Seit der Veröffentlichung Alpha-Version Juni 2011 wurden alle geplanten Funktionen eingebaut. Die sogenannte Traits-Language-Konstruktion, die die Verwendung der selben Funktion in mehreren Klassen ermöglichen soll, ist eine davon. UTF-8 wurde nun endlich als Standard-Zeichensatz definiert, Arrays können derefrenziert werden. Damit kann partiell auf Variablen verzichtet werden.Auch die Zend-Engine wurde weiter optimiert. Für das Debugging kann Dtrace verwendet werden. Mit einem single Thread Webserver kann PHP-Code nun schon während der Entwicklung getestet werden.

AddThis Social Bookmark Button

IP4 Adressen mit PHP und MySQL

December 27th, 2009 ron Posted in MySQL, PHP No Comments »

IP-Adressen vergleichen

Meist werden IP4-Adressen vermutlich in einem VARCHAR(15) Feld gespeichert in einer Datenbank gespeichert.
Man kann die IP-Adresse auch in einem INT Feld speichern. Dazu muss sie zuvor in das Format Long übertragen werden. In PHP übernimmt diese Aufgabe die Funktion ip2long(), in MySQL lautet die entsprechende Anweisung INET_ATON(). Der umgekehrte Weg funktioniert natürlich auch, sonst würde das ganze wenig sinnvoll sein, die PHP Funktionen long2ip(), bzw. INET_NTOA() in MySQL erledigen diese Aufgabe.

Read the rest of this entry »

AddThis Social Bookmark Button

Smarty 3 und __autoload()

November 27th, 2009 ron Posted in PHP 1 Comment »

Da das neue Smarty 3 komplett in PHP 5 neugeschrieben wurde, wird dort auch die Interzeptormethode __autoload() verwendet. Zumindest wird mit spl_autoload_register() ein eigener Autoloader festgelegt. Der Standard-Autloader steht damit nicht mehr zur Verfügung.

Um nun dennoch automatisch Klassen bei Bedarf einzubinden, kann man mit spl_autoload_register(’mein_autoloader’) einfach einen weiteren, eigenen Autoloader registrieren, den man dann noch im globalen Namensraum deklariert.

Kleiner Tipp von mir: nicht require() verwenden ;). Der spl_autoloader versucht nacheinenander mit den registrierten Loadern die benötigten Klassen einzubinden. Da er hier nach dem LiFo-Prinzip vorgeht, wird also der zuletzt registrierte Loader zuerst verwendet (also der eigene). Wenn dieser dann mit require() versucht eine Smarty-Klasse einzubinden, die er nicht findet, gibt es einen fatal-error. Mit @include() wird dann einfach mit dem nächsten Loader weitergemacht.

AddThis Social Bookmark Button

Zend Framework 1.8.1 veröffentlicht

May 15th, 2009 ron Posted in PHP No Comments »

Zend hat das erstes Maintenance Release für die 1.8-Entwicklungsschiene des Zend Framework herausgebracht. Die Version 1.8.1 des PHP-Frameworks bringt knapp 70 Bugfixes mit, nachzulesen im ZF Issue Tracker.
Das Anfang Mai veröffentlichte 1.8.0-Release wurde mit Version 1.2 der JavaScript-Bibliothek Dojo ausgeliefert , owohl der Changelog Dojo 1.3 ausgewiesen hatte. Die Nutzer finden nun das aktuellere Release der Bibliothek.

AddThis Social Bookmark Button

Kostenloses CakePHP E-Book

May 14th, 2009 ron Posted in PHP No Comments »

Im Pseudocoder.com Blog gibt es ein kostenloses CakePHP eBook, dass sich vor allem an  fortgeschritten PHP Entwickler richtet, die schon hinreichend Erfahrung mit dem Framework haben.

CakePHP Bücher auf Anfänger gibt es bereits genug, jedoch kaum welche für, die über die Grundlagen hinausgehen und tiefer in die Materie eindringen.
Das vorliegende E-Book soll diesen Mangel beheben.

Für alle, die noch keine Erfahrungen mit CakePHP haben werden in Kapitel 2 “How to Learn CakePHP” zwei Wege vorgestellt, um die Grundlagen des Cake-Frameworks zu erlernen, ein kostenloser und einer, der Geld kostet.

AddThis Social Bookmark Button

Smarty Counter

March 9th, 2009 ron Posted in PHP 2 Comments »

Heute habe ich mich etwas mit dem Counter von Smarty geprügelt. Ich bin irgendwie der Typ, der mit einem Beispiel 1000x mehr anfangen kann, als mit 100 Zeilen Erklärungen.

Daher habe ich dann wohl auch den mich interessierenden Teil in der Doku geflissentlich mehrmals übersehen.

Wenn man einen Counter in Smarty benutzt und diesen auswerten will, dann muss man den Wert mit “assign” einer Variablen zuweisen, sonst kann man zwar den Wert ausgeben aber nicht intern im Template für Vergleichsoperationen nutzen.

Read the rest of this entry »

AddThis Social Bookmark Button

PHPUnit 3.3 erschienen

September 16th, 2008 ron Posted in PHP No Comments »

Ab sofort steht die Verison 3.3 der Testsuite PHPUnit von Sebastian Bergman zum Download bereit.

Die neue Version ist laut Bergman nicht nur eine Bugfix-Version, sondern bringt auch neue Funktionen. So unterstützt PHPUnit nun Behavoir-Driven-Development und soll die  Code-Coverage-Analysen schneller und übersichtlicher gestalten.

Read the rest of this entry »

AddThis Social Bookmark Button

Filtererweiterung

August 3rd, 2008 ron Posted in PHP No Comments »

Leider sieht man immer wieder, dass völlig sorglos mit Usereingaben oder anderen Parametern, die an ein Skript übergeben werden, umgegangen wird. Selbst wenn man sich die größte Mühe gibt, wird man nie eine hundertprozentig sichere Anwendung haben, solange Userdaten verarbeitet werden müssen. Allerdings sieht man oft genug Skripte, in denen überhaupt keine Validierung stattfindet. Natürlich lässt sich eine Anwendung auf diese Weise um ein Vielfaches schneller fertigstellen, dies erkauft man aber mit einer hohen Anfälligkeit für Angriffe oder auch nur für Fehler.

Ein Grund, warum man derart ungesicherte Skripte immer wieder antrifft, ist wohl auch der leichten Erlernbarkeit von PHP zuzuschreiben. Die Lernkurve ist recht flach und so kann man mit relativ wenig Kenntnissen schon recht beeindruckende Ergebnisse abliefern. Wie es tatsächlich um den Code bestellt ist, sieht der Anwender oder schlimmer noch, der Auftraggeber oft gar nicht.

Read the rest of this entry »

AddThis Social Bookmark Button

SQLite

July 30th, 2008 ron Posted in PHP No Comments »

Seit einiger Zeit wird PHP im Bundle mit dem Datenbanksystem SQLite ausgeliefert. Anders als MySQL ist SQLite kein Datenbankserver, somit wird beim Betrieb auch kein eigener Prozess für SQLite ausgeführt. Stattdessen handelt es sich um eine Bibliothek ohne externe Abhängigkeiten, die direkt im PHP-Prozess ausgeführt wird. Daher gibt es hier auch keinen Kommunikationsweg zwischen PHP und der Datenbank. Datentransfers innerhalb eines Prozesses sind immer schneller, als Interprozess-Kommunikation beziehungsweise die Kommunikation zwischen unterschiedlichen Servern. Also ein klarer Vorteil für SQLite. Auf der anderen Seite kann die Datenbank auf diese Weise so natürlich nicht auf einen dedizierten Server ausgelagert werden, was bei zunehmender Last zu einem Problem werden kann.

Read the rest of this entry »

AddThis Social Bookmark Button




Amazon Bookshop