Конструктор CRC, множественые вызовы.

Всем добра!!!
Пишу компонент, в котором наследую базовый класс modResource.В классе создал конструктор.
class MyClass extends modResource
{
    public $showInContextMenu = true;

    function __construct(xPDO & $xpdo)
    {
        parent:: __construct($xpdo);
        $this->xpdo->log(1,"******************************************|****************************");
    }

В итоге, при создании документа в лог пишет 8 раз!!! То есть конструктор вызывается 8 раз, Почему так происходит?, Может кто-нибудь объяснить? Почему если я сделаю так:
$this->xpdo->log(1,"******************************************|****************************");
	parent:: __construct($xpdo);
поменяю местами, админка перестаёт работать? Пишет что нет доступа к конектору.
Почему при создании документа, MODX обращается к нескольким файлам
[2015-02-26 15:59:41] (ERROR @ /connectors/index.php) ******************************************|****************************
[2015-02-26 15:59:47] (ERROR @ /connectors/index.php) ******************************************|****************************
[2015-02-26 15:59:47] (ERROR @ /connectors/index.php) ******************************************|****************************
[2015-02-26 15:59:48] (ERROR @ /connectors/index.php) ******************************************|****************************
[2015-02-26 15:59:48] (ERROR @ /connectors/index.php) ******************************************|****************************
[2015-02-26 15:59:48] (ERROR @ /connectors/index.php) ******************************************|****************************
[2015-02-26 15:59:48] (ERROR @ /connectors/index.php) ******************************************|****************************
[2015-02-26 15:59:48] (ERROR @ /connectors/index.php) ******************************************|****************************
Так мало того, оно пишет туда, при открытии, сохранении, удалении документа. Правда при удалении оно делает только одну запись.

Буду премного благодарен за разъяснение.
Спасибо.
Волощук Юрий
26 февраля 2015, 14:03
modx.pro
944
0

Комментарии: 2

Сергей Шлоков
26 февраля 2015, 18:33
+1
$this->xpdo->log(1,"******************************************|****************************");
parent:: __construct($xpdo);
В данной конструкции ошибка. Свойство $this->xpdo равно NULL. Оно определяется в конструкторе, который вызывается второй строчкой.
В данном случае правильно будет
$xpdo->log(1,"******************************************|****************************");
parent:: __construct($xpdo);
    Волощук Юрий
    26 февраля 2015, 23:01
    0
    спасибо, в принципе можно было и догадаться :).
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2