Php 将web应用程序从Zend Framework 1.7更新到1.8
我正在尝试将我当前的项目从1.7更新到1.8。我必须更改什么才能使其不中断?大多数功能仍然适用于旧代码。在您的测试环境中试用,并阅读ZF更改日志。一件重要的事情是,装载机现在的工作方式不同了。特别是如果你使用自动加载 直到1.7Php 将web应用程序从Zend Framework 1.7更新到1.8,php,zend-framework,Php,Zend Framework,我正在尝试将我当前的项目从1.7更新到1.8。我必须更改什么才能使其不中断?大多数功能仍然适用于旧代码。在您的测试环境中试用,并阅读ZF更改日志。一件重要的事情是,装载机现在的工作方式不同了。特别是如果你使用自动加载 直到1.7 require_once 'Zend/Loader.php'; Zend_Loader::registerAutoload(); 从1.8开始 require_once 'Zend/Loader/Autoloader.php'; $loader = Zend_Load
require_once 'Zend/Loader.php';
Zend_Loader::registerAutoload();
从1.8开始
require_once 'Zend/Loader/Autoloader.php';
$loader = Zend_Loader_Autoloader::getInstance();
$loader->registerNamespace('Namespace_');
简短回答:
运行测试套件并检查结果;) 详细回答:
我记得有两点破坏了向后兼容性:
在Zend Framework 1.8中,修改了Zend_控制器_操作的构造函数 我必须提到这一点,因为它破坏了我的应用程序,直到我在数小时的调试后发现这个错误(出于某种原因,xDebug或PHP本身告诉我,自定义Controller\u Action类中的构造函数不再与Zend\u Controller\u 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())