Человек спросил что переопределить, я ответил :) А переопределять класс или процессор писать - это уже другой вопрос, и он совершенно имеет место быть. На усмотрение человека.
Хотя да, в данном случае логичнее было бы просто накидать процессор.
Ну вообще это распространённая практика переопределять методы в классах работы с базой данных, даже тот же migxdb использует этот подход.
Расширяй процессор MIGXbd это делается не сложно и не к чему трогать объекты xpdo
Ну, я думаю, что этот - самый подходящий. Он именно тогда, когда объект (его данные) берется из БД, а не когда новый создается или типа того.
Да, собственно вопрос и был в том КАКОЙ метод лучше переопределить )
Хорошо, это "ваш" класс, раз вы ему переопределили метод save(). Так что вам мешает тогда, к примеру, переопределить метод _loadInstance()? Типа так: public static function _loadInstance(& $xpdo, $className, $criteria, $row) {
$instance = parent::_loadInstance($xpdo, $className, $criteria, $row);
/*
some code, for example $instance->set('foo', $foo);
*/
return $instance;
}
Ну собственно был переопределён метод toArray, данный случай удовлетворяет, но если знаете лучшее место для добавления произвольных дынных - буду признателен если расскажите.
Нет, к сожалению процессор это не то о чём я подумал - не подходят.