Например, в структуре Yii2 класс yii\filters\AccessControl
переопределяет функцию init()
из своего родительского класса yii\base\Object
. Этот класс объектов, в свою очередь метод-конструктор так:Почему у некоторых php-классов есть пустой метод init()?
Class Object implements Configurable {
public function __construct($config = [])
{
if (!empty($config)) {
Yii::configure($this, $config);
}
$this->init(); // calls the method defined below
}
}
// and the definition of this init function ...
public function init()
{
}
Теперь нет никакого очевидного использования написания такой пустой функции, если никто не хочет использовать для инициализации некоторых свойств он/она может понадобиться в будущем.
Но тогда метод __construct()
имеет то же самое использование! Мне нужно понять, как этот метод init()
полезен.