Как получить переводчик в модели?
Вид изнутри, мы можем получить переводчик, используя этот код
$this->translate('Text')
Внутри контроллера мы можем получить транслятор, используя этот код
$translator=$this->getServiceLocator()->get('translator');
$translator->translate("Text") ;
Но как получить переводчик в модели?
Я перепробовал так много способов найти сервисный локатор в моделях 2 из этих
1) Использование событий MVC
$e=new MvcEvent();
$sm=$e->getApplication()->getServiceManager();
$this->translator = $sm->get('translator');
если я pring $sm, он показывает ноль. но он отлично работает в Model.php onBootstrap
2) Создана одна модель, которая реализует ServiceLocatorAwareInterface SomeModel.php
<?php
namespace Web\Model;
use Zend\ServiceManager\ServiceLocatorAwareInterface;
use Zend\ServiceManager\ServiceLocatorInterface;
class SomeModel implements ServiceLocatorAwareInterface
{
protected $services;
public function setServiceLocator(ServiceLocatorInterface $locator)
{
$this->services = $locator;
}
public function getServiceLocator()
{
return $this->services;
}
}
и использовал это внутри моей модели
$sl = new SomeModel();
$sm=$sl->getServiceManager();
var_dump($sm); exit;
$this->translator = $sm->get('translator');
это также печатает ноль.