سؤال

أحاول تحديث مشروعي الحالي من 1.7 إلى 1.8.ما الذي يجب علي تغييره حتى لا ينكسر؟

هل كانت مفيدة؟

المحلول

سوف

ومعظم ميزات لا تزال تعمل مع رمز القديمة. محاولة بها على بيئة الاختبار وقراءة سجل التغيير ZF. شيء واحد مهم هو أن محمل تعمل بشكل مختلف الآن. خاصة إذا كنت تستخدم autoload.

وحتى 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_');

نصائح أخرى

اجابة قصيرة:
قم بتشغيل مجموعة الاختبار الخاصة بك وتحقق من النتائج ;)

اجابة طويلة:
أتذكر نقطتين حيث تم كسر التوافق مع الإصدارات السابقة:

  1. إذا لم يقم التمهيد الخاص بك بتعيين Zend_Locale بشكل صحيح، فسيقوم ZF >= 1.7.2 بطرح استثناء مفاده أنه لا يمكنه اكتشاف اللغة المحلية للمتصفح إذا قمت بتشغيل برنامج نصي عبر وحدة التحكم.

  2. تغييرات Zend_View في 1.7.5

في إطار زند 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())
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top