Mediovski Technology

Late static binding w PHP 5.3

Data: 29 Październik 2009 13:07 Autor: Łukasz Zmywaczyk | Kategoria: PHP

W najnowszej odsłonie języka PHP pojawiło się nowe słowo kluczowe static
Jego zastosowanie najlepiej zobrazuje prosty przykład:

abstract class A
{
    protected static $tableName = 'tableA';
 
    public static function getAll( )
    {
        echo static::$tableName;
    }
 
    public static function getMyLateName( )
    {
        echo get_called_class();
    }
}
 
class B extends A
{
    protected static $tableName = 'tableB';
}
 
/**
 * w wyniku dostaniemy 'tableB'
 */
B::getAll( );
 
/**
 * w wyniku dostaniemy 'B'
 */
B::getMyLateName();

Późne wiązanie atrybutu tableName w momencie wypisywania jego zawartości daje programiście prostszy sposób na osiągnięcie powyższego efektu.

Kolejnym udogodnieniem podczas używania metod statycznych jest funkcja get_called_class(). Zgodnie z nazwą zwraca nazwę klasy poprzez która została wywołana.

Więcej na:
php.net

RSS
Get Adobe Flash player