Я реализовал Codeigniter HMVC, который отлично работает. Затем я расширяю MX_Controller
с помощью MY_Controller
, чтобы поделиться функциональностью и свойствами между всеми моими модулями и сохранить мой код DRY.Не удается получить доступ к общедоступным свойствам из MY_controller при расширении с MX_Controller в HMVC
Но я заметил, что при расширении MY_Controller
от MX_Controller
Я больше не могу обращаться к публичным ресурсам от MY_Controller
на любом из расширенных дочерних классов.
Некоторые примеры кода:
class MY_Controller extends MX_Controller {
public $variable;
function __contruct()
{
parent::__contruct();
$this->variable = 'Foo';
}
}
Затем на любом контроллере, который я простираться от MY_Controller:
class Foo extends MY_Controller {
function __construct()
{
parent::__construct();
}
function someFunction()
{
var_dump($this->variable);
}
}
Когда я пытаюсь получить доступ к государственной собственности $variable
в любом контроллере ребенка я получаю Null
или пустой строка.
Я искал высоко и низко для этого, не повезло, мое единственное предположение - проблема с HMVC MX_Controller
. Есть идеи?
Есть ли орфографическая ошибка в первом конструкторе? '__contruct()' –
Да, Ян Берк, вот и все. Я заметил проблему в тот же день после получения ошибки PHP об этом. Я починил это. То, что я никогда не понимал, как это может происходить в течение нескольких дней, не вырвав php-ошибку, как это было в конце. – Cabreran