2009-05-01 64 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())