Переводчик ZF2 в контроллер

Я пытаюсь использовать переводчик внутри моего приложения, как показано ниже в моем примере, но я застрял с ошибкой.

module.config.php

'controllers' => array(
'factories' => array(
'Application\Controller\AjaxController' => function($sm) {
$translator = $sm->getServiceLocator()->get('translator');
$controller = new Application\Controller\AjaxController($translator);
}
),

AjaxController.php

use Zend\Mvc\Controller\AbstractActionController;
use Zend\I18n\Translator\Translator;
use Zend\View\Model\JsonModel;
use Zend\Session\Container;
use Zend\Debug\Debug;

class AjaxController extends AbstractActionController
{
protected $translator;

public function __construct(Translator $translator)
{
$this->translator = $translator;
}

Ошибка вывода

Catchable fatal error: Argument 1 passed to Application\Controller\AjaxController::__construct()
must be an instance of Zend\I18n\Translator\Translator, instance of
Zend\Mvc\I18n\Translator given, called in
*****/module/Application/config/module.config.php on line 515 and defined in
*****/module/Application/src/Application/Controller/AjaxController.php on line 26

0

Решение

Из сообщения об ошибке кажется, что вы используете не тот переводчик. Попробуйте изменить пункт об использовании с Zend\I18n\Translator\Translator в Zend\Mvc\I18n\Translator,

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector