• Froscon 2008 – PHP 5.3

    von am 28. August 2008

    Johannes Schlüter, seines Zeichens Release Manager bei PHP 5.3 und im normalen Leben bei Sun beschäftigt. Wer könnte also besser erzählen, was es alles neues in PHP 5.3 zu erleben gibt. Als erstes wurde natürlich verkündig, dass PHP 4 “deprecated” ist und nicht mehr verwendet wurden soll. Ok das war nicht neu, ist aber trotzdem immer wieder schön zu hören. Obwohl schon sehr viel über 5.3 geschrieben wurde und wahrscheinlich die Hälfte von euch jedes Detail kennt, werde ich trotzdem die wichtigsten Neuerungen zusammenfassen.

    Namespaces

    Nach langen Diskussionen scheint sich die PHP Gemeinde endlich geeinigt zu haben, wie denn die Verwendung von Namespaces auszusehen hat und ich glaub, ich kann mit der Entscheidung leben. Obwohl ich die Autoload Methode wirklich schätze und ich auch finde, dass sie eine gute Idee ist, helfen Namesspaces einem endlich Klassennamen möglichst kurz zu halten, ohne dabei irgendwelche Konflikte herbei zu schwören. Wer hier gerade keine Ahnung hat, von was ich rede, den kann ich beruhigen, ein Artikel über Namespaces wird in kürze folgen, sobald ich selbst ein wenig mit rumgespielt habe. Ein kleines Beispiel kann denke ich trotzdem nicht schaden:

    <?php
    require 'MyProject/Db/Connection.php';
    use
    MyProject::DB;
    use
    MyProject::DB::Connection as DbConnection;

    $x = new MyProject::DB::Connection();
    $y = new DB::connection();
    $z = new DbConnection();
    DB::connect();
    ?>

    In der Connection.php Datei würde ein Namespace angegeben werden:
    <?php
    namespace MyProject
    ::DB;

    const

    CONNECT_OK = 1;
    class
    Connection { /* ... */ }
    function
    connect() { /* ... */ }
    ?>

    Die Beispiele habe ich einfach rotzfrech von der php.net Dokumentation genommen.

    goto

    Lange Zeit von mir befürchtet, jetzt ist es endlich so weit. Die Einführung von goto ist nun an ihrem Ziel. Eigentlich sollte hier hier gar nichts schreiben, da ich glaube, dass man goto soweit wie möglich vermeiden sollte. Es gibt nur eine Handvoll Situationen in dem man goto wirklich nicht vermeiden kann, ohne einen riesigen Umweg zu fahren. Für diese Fälle ist es auch ok! Ansonsten sehe ich keinen Grund, da es neue Chance mit sich bringt auf einer ganz neuen Ebene zu frikeln. Für die OOP, die ich ja gerne betreibe, ist dieses neue Feature auch nicht nützlich. Naja wir werden sehen was passiert, ich prognostiziere nichts gutes. Aber vielleicht gehe ich auch in den Compiler- oder Parserbau und bin dann der größte Fan dieses Sprachkonstruktes.

    Error Level

    In der neuen PHP Version wurde auch ein Error Level eingeführt. E_DEPRECATED. Dieser Fehler wird immer dann geworfen (sorry Olaf, ich weiß Fehler wirft man nicht), wenn eine Funktion aufgerufen wird, die nicht mehr up-to-date ist und man sie eigentlich nicht mehr verwenden sollte, da sie in einer der nächsten PHP Versionen nicht mehr unterstützt wird.

    Meiner Meinung nach ist dies eine gute Idee, da es so wohl um einiges einfacher wird zu einer neuen Version zu migrieren, da man es so peu à peu bewerkstelligen kann. Natürlich sind hier auch die Macher von PHP gefragt, wenn sie nicht rechtzeitig eine Funktion als veraltet markieren, dann hilft der neue Fehlerlevel wenig. Also einfach mal abwarten, was passiert.

    phar Support

    Phar ist die PHP Antwort auf das java Archivformat JAR. Ab 5.3 unterstützt PHP nativ dieses Dateiformat. Dank eines Streamwrappers kann man so direkt Dateien ansprechen, die mit phar komprimiert wurden.

    <?php

    file_get_contents(‘phar:/pfad/zum/pharfile.phar/mydata’);
    require
    phar:/pfad/zum/pharfile.phar/myscript.php';

    ?>

    Late static binding

    Da ich ja bereits im Artikel über Sebastian Bergmanns Vortrag “Understanding the PHP Object Model” über diese Neuerung gesprochen habe, bin ich einfach mal so frei und lasse dieses Kapitel hier aus.

    Nils Langner

    Auch wenn Ihr es mir nicht glauben werdet, aber ich habe nichts gegen PHP. Ich rege mich einfach nur gerne auf. Ok so schlimm ist es auch nicht. Eigentlich wollte ich schon immer einen Blog haben und da ...

    Zum Profil von Nils Langner

    5 Kommentare »


    • Froscon 2008 | PHP hates me
      am 28. August 2008 um 08:15 Uhr

      [...] 14:00 Uhr – 14:45 Uhr – Neuerungen in PHP 5.3 [...]


    • Lumi
      am 28. August 2008 um 12:40 Uhr

      Hallo Nils!

      Ich kann nur sagen “Weiter so!”. Deine Seite hat es schon in meine Favoriten geschaft.

      Hab selber erst seit 2002 mit PHP zu tun und OOP war(ist?) für mich “irgendwas Böses”. ;-)

      Lumi


    • Der Garbage Collector von PHP | PHP hates me
      am 5. September 2008 um 08:08 Uhr

      [...] ich auf der Froscon im Vortrag von Johannes Schlüter erfahren habe, haben die Entwickler von PHP es endlich geschafft dieses Problem zu lösen. Johannes [...]


    • Zend Studio deprecated | PHP hates me - Der PHP Blog
      am 21. Oktober 2008 um 08:04 Uhr

      [...] dass sie in einer der nächsten Versionen nicht mehr zur Verfügung steht. PHP selbst hat mit der Version 5.3 den richtigen Weg in diese Richtung eingeschlagen. Ab sofort werden bei veralteten Methoden und [...]


    • David
      am 18. April 2009 um 18:48 Uhr

      Mittlerweile ist man ja schlauer, bzw. hat das System verändert, zu meinen Ungunsten:

      use MyProject::DB::Connection as DbConnection;
      wird zu
      use MyProject\DB\Connection as DbConnection;

      und

      namespace MyNameSpace::Subnamespace;
      wird zu
      namespace MyNameSpace\Subnamespace;

      Mfg

    RSS Feed für Kommentare zu diesem Artikel. TrackBack URL

    Hinterlasse einen Kommentar

    Werbung
    PHP Magazin
    Ausgabe 02/2010

    Dieses Mal mit Artikeln zu den Themen OpenSocial und Apache Shindig, Graphentheorie, Smarty3

    t3n
    Ausgabe 19

    Social Media (R)evolution. Weitere Themen sind noSQL, Crowdsourcing ...

    PHP Journal
    Ausgabe 2/2010

    PHP & Windows optimal nutzen, die besten PHP-CMS im Überblick, Google-API mit Zend Framework nutzen.

    Wir wurden schon öfters gefragt, ob man uns nicht irgendwie unterstützen kann. Die Antwort war immer einfach: Klar! Am einfachsten ist es eure nächsten Einkäufe bei Amazon über unsere Link abzuwickeln. Damit würdet ihr uns schon sehr helfen. Über Co-Autoren freuen wir uns aber noch mehr.