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

Всем добра!!!

Пишу компонент, в котором наследую базовый класс modResource. В классе создал конструктор.

class MyClass extends modResource
{
    public $showInContextMenu = true;

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

В итоге, при создании документа в лог пишет 8 раз!!! То есть конструктор вызывается 8 раз. Почему так происходит?

Почему при создании документа, 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) ******************************************|****************************

Так мало того, оно пишет туда, при открытии, сохранении, удалении документа. Правда при удалении оно делает только одну запись.

Буду премного благодарен за разъяснение.

Спасибо.

Comments

modResource::__construct() выполняется не только в момент инициализации текущего документа, но и в момент инициализации любого другого документа, к примеру, в формируемом Wayfinder-ом меню, или новостной ленте, формируемой getResources-ом. Откройте в админке Console (дополнительный компонент) и выполните $modx->newObject('MyClass'); Увидите сообщение. Выполните три раза $modx->newObject('MyClass');, увидите три раза сообщение. Ничего лишнего там MODX не делает.

Вот оно что, я не говорю что лишнее, просто хочу разобраться. А вот еще возник вопрос, а если я не буду в класс добавлять конструктор, как это скажется.