Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
<?
class Foo {
static $var = 'dima';
function dyn()
{
echo 'Dynamic: ', get_class($this), "\n";
}
static function stat($class=null)
{
if (is_null($class))
{
$class = get_class();
}
echo 'Static: ', $class, "\n";
}
static function stat_var()
{
echo 'Variable: ', self::$var, "\n";
}
}
class Bar extends Foo {
static $var;
}
class Habr extends Foo {
static $var;
static function stat($class=null)
{
parent::stat(get_class());
}
}
$obj = new Bar;
$obj->dyn();
Bar::stat();
Bar::stat_var();
Habr::stat();
?><?
class DAO {
static function getObjects($class_name=null)
{
$sql = 'SELECT FROM '.$class_name;
}
}
class News extends DAO {
static function getObjects($class_name=null)
{
parent::getObjects(get_class());
}
}
class Faq extends DAO {
static function getObjects($class_name=null)
{
parent::getObjects(get_class());
}
}
$news = News::getObjects();
$faq = Faq::getObjects();
?><?
class DAO {
static function getObjects()
{
$sql = 'SELECT FROM '.$class_name;
}
}
class News extends DAO {}
class Faq extends DAO {}
$news = News::getObjects();
$faq = Faq::getObjects();
?>
Позднее статическое связывание в PHP (Часть I)