هل سأفقد أكوادي عند الأنتقال من Php 4 إلى Php 5
أبداً!! ... بل هي مجرد بعض التغيرات البسيطة التي غالباً لن تؤثر على أكوادك أو ما قمت بكتابته من قبل. في هذا المقال سوف أقوم بتوضيح الفروق (من حيث الكود) حتى أعمل على سرفر PHP5 بدون أي مشاكل.
لا يمكنك الإستمرار في استخدام PHP4
وجهة نظر أعلم أنه تتسائل الآن وما هي الأسباب؟؟ الأسباب كثيرة ولكن لأن ليس هذا هو الموضوع فيمكنك فقط الأطلاع على التحديثات بـ PHP4 و التحديثات بـ PHP5 وستلاحظ أن php4 انتى أصداراتها الحقيقية (أقصد ما تم التطوير وأضافة الجديد للغة بشكل ملحوظ) ينتهي عند الأصدار 4.3.0 اما والتي تم أصدارها في أخر عام 2002 اما بعد ذلك فستجد أنه FixBug أو تحديث للمكتبات المرفقة مع PHP او أنك ستجد تحديث للـPEAR أو PECL !!! ولا نريد الخوض في هذا الموضوع أكثر من هذا فـPHP5 بقوتها وأمكانياتها تجبرنا على أستخدمها وسأطرح موضوع أخر لمناقشة هذه النقطة.
هل سيعمل كودي بدون مشاكل على PHP5؟
أولاً : هو ما يسمى بـ old_function
و cfunction
وهي (على حسب ما فهمت من php.net) أنها الدوال القديمة الخاصة بـPHP/FI2 أو أنها أسلوب الدوال لهذه الأصدارة !! على العموم انا وجدت مثال كان زائر وضعه !!
old_function name $param1, $param2, ..., $paramn ( code;);
eg.:
old_function eq $param, $param(
if($param1 === $param2) {
echo "equal";
} else {
echo "not equal";
}
return ($param1 === $param2);
);
eq(1,2);
ثانياًً : تطوير خرج بعض الدوال مثل خرج الدالتين strrpos و strripos (لا تخف لا يوجد دوال أخرى بها فروق) وهو تعديل تم من الأصدارة 4.0b3 وستلاحظ هذا في صفحة الدوال بالمنوال. وأيضاً دالة ip2long أصبحت تعطي false في حالة أخال الـIP خطأ.
ثالثاً : تطوير في شكل التبليغ بالأخطاء والتنبيهات لأن php4 كانت فقيرة في وصف للأخطاء أو للتحذيرات خاصتاً مقارنتاً بـphp5.
مثلاُ : الدالة array_merge إن لم يكن المدخل دالة فكانت لا تصدر خرج أم في PHP5 أصبحت تعطي تحذير E_WARNING . صدقني لن تلاحظ غير انك لن تقابل دالة في المنوال وتقف وتقول عفواً PHP5 فقط !
ملحوظة طبعاً هناك تغيرات تعتبر جزرية في OOP ولكنها بسيطه ولكن OOP المكتوبة على PHP4 تعمل ولا يوجد بها أدنى مشكلة !! وليس هذا فقط بل يمكنك توريث كائن مكتوب PHP4 لكائن مكتوب PHP5.
بالتوفيق