abstract class BaseModel
{
public $a;
}
class ModelA extends BaseModel
{
public function __construct()
{
$this->a = 'Тест';
}
}
class ModelB extends BaseModel
{
public function __construct()
{
var_dump($this->a); // null
}
}
abstract class ControllerA
{
private $mObj;
public function __construct()
{
$this->mObj = new ModelA();
}
}
class ControllerB extends ControllerA
{
public function __construct()
{
$mObj = new ModelB();
var_dump($mObj->a); // null
}
}
new ControllerB; // null
То есть:
- вызываем ControllerB одновременно с родителем ControllerA
- в ControllerA вызываем ModelA, которая заполняет свойство a для своего родителя - BaseModel
- в ControllerB вызываем ModelB, которая получает свойство a от своего родителя - BaseModel
NULL
Что я не вижу?