PHPGangsta - Der praktische PHP Blog

PHP Blog von PHPGangsta


Archive for the ‘PHP 5.4’ tag

PHP 5.4: Die neue Funktion header_register_callback()

with 2 comments

Neben den vielen größeren Änderungen und neuen Features in PHP 5.4 gibt es auch eine kleine, aber vielleicht nützliche Funktion, mit der man noch an den HTTP-Headern rumpfuschen kann bevor sie an den Browser geschickt werden: header_register_callback().

Gerade bei älteren Applikationen, bei denen die Header mittels header() an x-beliebigen Stellen manipuliert werden, kann man mittels dieser Funktion an einer zentralen Stelle noch welche hinzufügen, ändern oder entfernen.

Der Callback, der an die Funktion übergeben wird, wird genau dann aufgerufen wenn die Header an den Browser geschickt würden, also bei der ersten Ausgabe des Skripts. Ich kopiere mal als Beispiel schnell den Code aus dem Manual, daran ist ersichtlich was die Funktion machen kann:

Weiterlesen »

Written by Michael Kliewe

April 26th, 2012 at 10:15 am

Posted in PHP

Tagged with , ,

PHP 5.4.0 released! Neue Funktionen

with 37 comments

Soeben wurde PHP 5.4.0 released! Nach 8 Release Candidates ist nun die finale Version erschienen und kann auf php.net heruntergeladen werden. Ich habe 2 meiner größeren Applikationen bereits mit der neuen Version getestet (mit dem RC8, der gleich der finalen Version ist). Sobald DotDeb die neue Version released wird der Server upgedated.

So, hier eine Übersicht der wichtigsten Änderungen:

  1. Das wohl größte Feature: Traits (auch „Horizontal Reuse“ renannt). Hier im Blog gibt es auch schon einen sehr ausführlichen Artikel über Traits.
    <?
    class Base {
        public function sayHello() {
            echo 'Hello ';
        }
    }
    
    trait SayWorld {
        public function sayHello() {
            parent::sayHello();
            echo 'World!';
        }
    }
    
    class MyHelloWorld extends Base {
        use SayWorld;
    }
    
    $o = new MyHelloWorld();
    $o->sayHello();

    Weitere Details und Beispiele zu Traits gibt es in diesen Blogartikeln.

Weiterlesen »

Written by Michael Kliewe

März 2nd, 2012 at 12:41 am

Posted in PHP

Tagged with , , , , ,

Der eingebaute Webserver in PHP 5.4

with 11 comments

Mit PHP 5.4 kommt ein kleiner eingebauter Webserver mitgeliefert, der allerdings nur für Testzwecke genutzt werden soll, auf Produktionsmaschienen soll man ihn nicht einsetzen, die Performance ist nicht so der Hit (single threaded) und auch Features wie .htaccess Support (mod_rewrite etc.) und einiges andere fehlen.

Falls bei der Entwicklung oder auf einer Testmachine „mal eben schnell“ ein Script via Webserver getestet werden soll kann man sich die Installation eines „richtigen“ Webservers sparen, und einfach PHP selbst nutzen:

Weiterlesen »

Written by Michael Kliewe

Oktober 24th, 2011 at 9:41 am

PHP 5.4.0 Beta1 Performance!

with 10 comments

Ich bin zufällig auf eine Präsentation über die kommende PHP 5.4.0 Version gestossen, mit einer Liste aller entfernten Features, neuer Features, aber auch interessanten Performance- und Speicherverbrauchdaten. Informationen über Features sind ja schon etwas länger bekannt, und im Changelog findet man auch viele Informationen, aber ehrlich gesagt konnte ich es nicht glauben was da bei den Performance-Tests steht, das mußte ich selbst ausprobieren.

Hier Beispiel 1 aus der Präsentation:

/php537/php micro_bench.php
    Max memory usage 1048576 bytes.
    Running 27.608 s.

/php540/php micro_bench.php
    Max memory usage 524288 bytes.
    Running 13.254 s.

Hier Beispiel 2 aus der Präsentation:

/php537/php NewObjectClassTest.php
   Running 0.20629 s , 640616 bytes.
/php537/php StaticClassTest.php
   Running 0.35047 s, 640616 bytes.

/php540/php NewObjectClassTest.php
   Running 0.12018 s, 227808 bytes.
/php540/php StaticClassTest.php
   Running 0.10803 s, 227880 bytes.

Hier Beispiel 3 aus der Präsentation:

Weiterlesen »

Written by Michael Kliewe

September 30th, 2011 at 9:27 am

Posted in PHP

Tagged with , , ,

Der Klasse neue Kleider: Traits

with 17 comments

Gastartikel von Thomas Worm.

Ich bin 23 Jahre alt und Verbundstudent bei der DATEV eG. Bereits seit Schulzeiten befasse ich mich intensiv mit der Webentwicklung in PHP. Der Erfahrungsschwerpunkt hierbei liegt auf der Programmierung barrierefreier Portalsysteme, die auf Typo3 aufsetzen (wie z.B. huerdenlos.de).

Einführung

Mit der bald erscheinenden PHP-Version 5.4 wird ein neues Sprachkonstrukt in die PHP-Welt Einzug halten, die Traits. Grob gesagt lässt sich mit diesen eine Methodengruppe definieren, die in verschiedenen Klassen durch eine use-Anweisung eingefügt werden kann. Sicherlich stoßen da nun Einige auf die gleiche Frage wie ich: „Wofür brauch ich das denn bitte? Vererbung ist doch durchaus ausreichend!“

Jain. Mit Vererbung lässt sich viel machen, doch Vererbung ist nicht immer das beste Mittel für wiederverwendbaren Code. Auch folgt PHP dem Java-OOP-Modell, bei dem nur einfache Klassenableitung (single inheritance) möglich ist. Wir können also nur von einer einzigen Vaterklasse erben.

Weiterlesen »

Written by Thomas Worm

September 27th, 2011 at 9:22 am

Posted in PHP

Tagged with ,