Как получить переводчик в модели?Zend framework 2 переводчик в модели
Внутренний вид мы можем получить переводчик, используя этот код
$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');
если я Принг $ см это показывает нуль. но он отлично работает в 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');
это также печать null.
спасибо, но вы не поняли мой вопрос правильно –
Действительно? Что я пропустил? – Crisp
Не могли бы вы написать код, который должен соответствовать моему вопросу exatly. –