Переопределение afterSave у сущности

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • dimyy
    Active Community Member
    • Jun 2018
    • 569

    Переопределение afterSave у сущности

    Пытаюсь переопределять afterSave согласно документации https://github.com/espocrm/documenta...ith-primary.md

    Файл custom\entities\repositories\TimeTracker.php

    <?php

    namespace Espo\Custom\Repositories;

    class TimeTracker extends \Espo\Core\Templates\Repositories\Base
    {
    public function afterSave(Entity $entity, array $options = array())
    {
    $result = parent::afterSave($entity, $options);
    return $result;
    }
    }


    Получаю ошибку в логфайл:

    [2018-07-09 14:01:41] Espo.ERROR: Uncaught Exception TypeError: "Argument 1 passed to
    Espo\Custom\Repositories\TimeTracker::afterSave() must be an instance of
    Espo\Custom\Repositories\Entity, instance of Espo\Custom\Entities\TimeTracker given,
    called in /home/espotest/public_html/application/Espo/ORM/Repositories/RDB.php on line 155" at /home/espotest/public_html/custom/Espo/Custom/Repositories/TimeTracker.php line 8 {"exception":"[object] (TypeError(code: 0): Argument 1 passed to Espo\\Custom\\Repositories\\TimeTracker::afterSave () must be an instance of Espo\\Custom\\Repositories\\Entity, instance of Espo\\Custom\\Entities\\TimeTracker given, called in /home/espotest/public_html/application/Espo/ORM/Repositories/RDB.php on line 155 at /home/espotest/public_html/custom/Espo/Custom/Repositories/TimeTracker.php:8)"} []
  • tanya
    Senior Member
    • Jun 2014
    • 4308

    #2
    use Espo\ORM\Entity;

    Comment

    • dimyy
      Active Community Member
      • Jun 2018
      • 569

      #3
      Супер! Спасибо за помощь чайникам.

      А что более правильно архитектурно при кастомизации:

      1. Переопределить функцию
      2. Реализовать hook?

      Или это более менее равноценная история?

      Comment

      • tanya
        Senior Member
        • Jun 2014
        • 4308

        #4
        Если запороть переопредиление функции, все не будет работать, если запороть хук, только часть
        Лучше хук. Порярок запуска хука можно задать в переменной order

        Comment

        Working...