Das Örtchen RSS-Feed
Kategorie
Kategorie: Blog
Buttons & Statistiken
Neueste Kommentare

PHP: Traits und Array-Dereferencing kommen mit PHP 5.4

Zufällig bin ich heute in einem meiner bevorzugten Newsticker über ein Video zum Thema PHP 5.4 gestolpert. Interviewt wurde Johannes Schlüter auf der IPC Spring 2011. Herbei haben mich zwei Neuerungen davon überzeugt, nach dem Release schnellstmöglich produktiv mit PHP 5.4 arbeiten zu wollen, nämlich Traits und das Array-Dereferencing.

Interview(s)

Doch lassen wir Johannes zunächst selbst zu Wort kommen:

IPC11 / WTC11: Johannes Schlüter über PHP 5.4, MySQL 5.6 und mehr

Ein weiteres Interview mit schlechterer Audio-Qualität:

Johannes Schlüter über PHP 5.4 auf der IPC11

Array-Dereferencing

Dieses Feature lässt sich aus meiner Sicht am besten mit einem Beispiel von Web-Union.de erklären:

  function getAnyArray()
{
    return array("Apfel", "Birne", "Banane");
}
 
echo getAnyArray()[2]; // Ausgabe: Banane  

Weiterführende Informationen findet man im Blog-Artikel zur Alpha 1 von Johannes.

Traits

Bisher war es in PHP nicht möglich Methoden aus mehreren Klassen zu übernehmen, da man nur von einer Eltern-Klasse erben kann. Dies wird zukünftig durch Traits behoben.

  trait Helferlein
{
    public function formatiereZeitpunkt() {
        return strftime('d.m.Y H:i:s', strtotime($this->datum));
    }
}

class A
{
    use Helferlein;

    public $datum = '2011-11-11 11:11:11';
    // ...
}

class B extends OtherClass
{
    use Helferlein;

    public $datum = '2009-09-09 09:09:09';
    // ...
}

// Die Methode formatiereZeitpunkt ist nun in beiden Klassen verfügbar
$a = new A();
echo $a->formatiereZeitpunkt();
$b = new B();
echo $b->formatiereZeitpunkt();  

Das Beispiel macht zwei Sachen deutlich:

  1. Die Methode kann man in vielen Daten-Klassen brauchen, jedoch nicht in allen. Sie macht also in einer gemeinsamen Eltern-Klasse für alle Daten-Klassen keinen Sinn.
  2. Ein Zugriff auf das aktuelle Objekt mit $this wird möglich sein.

Weitere Beispiele vor allem bei Methoden-Kollisionen von zwei Traits finden sich in Englisch bei Simas Toleikis. In einem weiteren englischen Beitrag hat sich Giorgio Sironi Gedanken darüber gemacht, wie nützlich die neuen Features sind und wie hoch im Vergleich dazu die Wahrscheinlichkeit eines Missbrauchs ist.

[via PHPmagazin]

Hallo! Bist du neu hier? Dann abonniere doch den RSS-Feed dieses nicht mehr ganz so stillen Örtchens, um über meine geistigen Ergüsse auf dem Laufenden zu bleiben. Alternativ besteht auch die Möglichkeit, sich von FeedBurner per E-Mail über meine Ausscheidungen benachrichtigen zu lassen.

Neuen Kommentar schreiben

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.
Der Inhalt dieses Feldes wird öffentlich zugänglich angezeigt, aber als rel="nofollow" markiert.
Hinweis

Kommentare beleben den Blog! Ich freue mich über jeden Kommentar. Du kannst hier offen Deine Meinung zum Artikel sagen, aber bitte beachte die Netiquette und vermeide es andere zu beleidigen.

Bitte unterlasst es die Kommentare zu SEO-Zwecken zu missbrauchen. Kommentare mit Links, die nicht zu Blogs führen (oder zu Blogs mit Grauzonen-Themen) und/oder Keywords als Namen verwenden, sind nicht erwünscht!

Möchtest Du mir einen Blog-Artikel schmackhaft machen, dann schreib die URL ohne HTML-Tag in den Kommentarbereich und ich werde diesen bei Gefallen verlinken.