2009-05-01 33 views

回答

2

大多数功能仍然可以使用遗留代码。在您的测试环境中试用并阅读ZF更改日志。一件重要的事情是现在装载机的工作方式不同。特别是如果你使用自动加载。

直到1.7

require_once 'Zend/Loader.php'; 
Zend_Loader::registerAutoload(); 

由于1.8

require_once 'Zend/Loader/Autoloader.php'; 
$loader = Zend_Loader_Autoloader::getInstance(); 
$loader->registerNamespace('Namespace_'); 
+0

更多细节改变对tharkun的回答是:http://akrabat.com/2009/04/30/zend_loaders-autoloader_deprecated-in -zend框架-18 / – leek 2009-05-02 05:00:57

0

简短的回答:
运行测试套件,并检查结果;)

龙答:
我记得两个点的向后兼容性被打破:

  1. 如果引导不正确设置从Zend_Locale,ZF> = 1.7.2将抛出一个异常,它无法检测,如果你运行一个脚本的浏览器的语言环境通过控制台

  2. Zend_View changes in 1.7.5

0

在Zend框架1.8 Zend_Controller_Action的构造进行了修改。

我不得不提这个,因为它打破了我的应用程序,直到经过几个小时的调试才发现这个错误(出于某种原因xDebug或PHP本身告诉我,我的自定义Controller_Action类中的构造函数与Zend_Controller_Action中的构造函数不同了)。

所以必须你的构造从

public function __construct(Zend_Controller_Request_Abstract $request, Zend_Controller_Response_Abstract $response, $invokeArgs = array()) 

public function __construct(Zend_Controller_Request_Abstract $request, Zend_Controller_Response_Abstract $response, array $invokeArgs = array())