ZF2 просмотр помощника в модели

Я локализую проект, написанный на ZF2. А в некоторых местах парни используют статические переменные в слое модели.

    public function getTransitions()
    {
        $transitions = array(
            static::STATE_NEEDS_REVIEW         => 'Needs Review',
            static::STATE_NEEDS_REVISION       => 'Needs Revision',
            static::STATE_ARCHIVED             => 'Archive'
        );
//      some code...
        return $transitions;
    }

У меня есть пользовательский помощник вида для перевода, который в основном является оболочкой переводчика ZF2 с некоторыми дополнительными функциями. Я знаю, как использовать его в виде слоя и в контроллерах, как это:

$t = $this->getServiceLocator()->get('ViewHelperManager')->get('t');

Но как использовать мой помощник вида в слое модели???

1 ответ

Если вам нужен доступ к локатору сервиса в модели, вы можете реализовать ServiceLocatorAwareInterface, как описано в вопросе и ответе здесь:

внедрение ServiceLocator через ServiceLocatorAwareInterface не работает

Тем не менее, я бы предположил, что использование помощника вида в модели может быть неправильным способом. Возможно, вы могли бы взять соответствующую логику из ViewHelper и переместить ее в службу, которую вы можете сделать доступной для класса модели либо путем внедрения, либо просто создавая ее при необходимости. Помощник вида может затем использовать тот же сервис.

Другие вопросы по тегам