Обновление веб-приложения с Zend Framework 1.7 до 1.8 - PullRequest
1 голос
/ 01 мая 2009

Я пытаюсь обновить свой текущий проект с 1.7 до 1.8. Что я должен изменить, чтобы он не сломался?

Ответы [ 3 ]

2 голосов
/ 01 мая 2009

большинство функций по-прежнему будут работать с устаревшим кодом. Попробуйте это в своей тестовой среде и прочитайте журнал изменений 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 голосов
/ 02 мая 2009

В Zend Framework 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())
0 голосов
/ 01 мая 2009

Краткий ответ:
Запустите свой тестовый набор и проверьте результаты;)

Длинный ответ:
Я помню два момента, когда нарушалась обратная совместимость:

  1. Если ваша начальная загрузка не устанавливает Zend_Locale правильно, ZF> = 1.7.2 выдает исключение, что он не может определить локаль браузера, если вы запускаете скрипт через console .

  2. Zend_View изменения в 1.7.5

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...