Auch als PHP-Entwickler darf man über den Tellerrand hinweg schauen und sich mit anderen Sprachen beschäftigen. Eigentlich habe ich nach einer vernünftigen IDE für Python gesucht, doch gefunden habe ich NetBeans – eine IDE, die vielleicht noch besser ist als Eclipse PDT!? In Deutschland ist NetBeans bei PHP-Entwickler noch relativ unbekannt, daher stelle ich NetBeans einfach mal vor. » Weiterlesen
Klassen-Konstanten in PHP 5.3
Seit PHP Version 5.3 gibt es einige Verbesserungen bei den Klassen-Konstanten. Hier mal ein kleines Beispiel:
abstract class Auto { public function getAutoName() { return self::AUTO_NAME; } } class Golf extends Auto { const AUTO_NAME = "Golf"; } $auto = new Golf(); echo $auto->getAutoName(); |
Wer dieses Beispiel in PHP 5.2 ausführt, bekommt eine Fehlermeldung „Fatal error: Undefined class constant ‚AUTO_NAME‘ in /htdocs/test.php on line 7“. Der Grund ist einfach: Die Konstante AUTO_NAME kann nicht von der Eltern-Klassen aufgerufen werden. Jetzt kommen wir zur Neuerung in PHP 5.3. Wir ändern lediglich eine Kleinigkeit:
abstract class Auto { public function getAutoName() { return $this::AUTO_NAME; } } class Golf extends Auto { const AUTO_NAME = "Golf"; } $auto = new Golf(); echo $auto->getAutoName(); |
Aus dem self:: wird ein $this:: und schon gibt uns PHP das richtige Ergebnis aus. Außerdem könnte man die Konstante noch direkt über das Objekt ausgeben mit $auto::AUTO_NAME, aber auch das ist erst seit PHP 5.3 möglich.
Zend Framework: Zend_Barcode
Die vor wenigen Wochen erschiene Version 1.10 des Zend Frameworks bringt eine neue interessante Komponente mit: Zend_Barcode. Damit lassen sich – wie man sich eigentlich denken kann – Barcodes (dt. Strichcodes) generieren. Und wieder einmal hat man es geschafft, eine doch recht komplizierte Funktion leicht zu verpacken.
<?php set_include_path(__DIR__.'/lib'); // Pfad zum Zend Framework require_once 'Zend/Barcode.php'; Zend_Barcode::factory("code39", "image", array("text" => strtoupper("basti-sama")))->render(); |
Mit diesen drei Zeilen lässt sich folgendes Bild generieren:
Wenn alle Entwickler ihre Anwendungen nach diesem einfachen Schema aufbauen würden, wäre Programmieren so einfach.