0
我試圖在我的應用程序中使用翻譯器,如以下在我的示例中所示,但是我陷入了錯誤。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
結果爲: 消息: 工廠被調用但未返回實例。 – directory
@directory將'return $ controller;'添加到您的工廠。 – AlexP