2016-03-04 30 views
1

如何修復它(zend版本2.5)?ZF2:ServiceLocatorAwareInterface已棄用,將在3.0版中被刪除

ServiceLocatorAwareInterface已棄用,將在版本3.0中與ServiceLocatorAwareInitializer一起被刪除。請更新您的班主任\控制器\ TeacherController刪除的實施,並開始通過注射出廠你的依賴,而不是

我想:

class TeacherControllerFactory implements FactoryInterface 
    { 
     public function __invoke(ContainerInterface $container, $name, array $options = null) 
     { 
      return new TeacherController(
       $container->getServiceLocator()->get(TeacherService::class) 
      ); 
     } 

     /** 
     * Create and return TeacherController instance 
     * 
     * For use with zend-servicemanager v2; proxies to __invoke(). 
     * 
     * @param ServiceLocatorInterface $container 
     * @return TeacherController 
     */ 
     public function createService(ServiceLocatorInterface $container) 
     { 
      return $this($container, TeacherController::class); 
     } 
    } 
+1

的error_reporting(E_ALL&〜E_USER_DEPRECATED); –

回答

-1

您需要添加〜E_USER_DEPRECATED

您可以在公共/ index.php文件

ini_set ("error_reporting", E_ALL & ~ E_DEPRECATED & ~E_USER_DEPRECATED & ~ E_STRICT); 

error_reporting (E_ALL & ~ E_DEPRECATED & ~ E_USER_DEPRECATED & ~ E_STRICT); 

用戶生成的警告信息補充。這就像E_DEPRECATED,除了 它是通過使用PHP函數trigger_error()在PHP代碼中生成的。

http://php.net/manual/en/errorfunc.constants.php

+1

我在public/index.php中加入了這一行,解決了這個問題 'error_reporting(E_DEPRECATED)' – Zakaria

+2

忽略這個錯誤並不能解決它。 –

相關問題