PHP - позднее статическое связывание
Войти

PHP - позднее статическое связывание

PHP - позднее статическое связывание

Причем self равносильно написанию имени класса в котором наш статический метод находится и просто позволяет уменьшить дублирование. static же намного интереснее, так как оно указывает непосдерственно на тот класс, из под которого был совершен вызов

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php 

class Model {
  public static 
$table 'table';
  public static function 
getTable() {
    return 
self::$table;
  }
}

class 
User extends Model {
  public static 
$table 'users';
}

echo 
User::getTable(); // 'table'

?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php 

class Model {
  public static 
$table 'table';
  public static function 
getTable() {
    return static::
$table;
  }
}

class 
User extends Model {
  public static 
$table 'users';
}

echo 
User::getTable(); // 'users'

?>
  1. 1. habrahabr.ru
Теги:
php