هل سأفقد أكوادي عند الأنتقال من PHP4 إلى PHP5
| أبداً!! | بل هي مجرد بعض التغيرات البسيطة التي غالباً لن تؤثر على أكوادك أو ما قمت بكتابته من قبل. في هذا المقال سوف أقوم بتوضيح الفروق (من حيث الكود) حتى أعمل على سرفر 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.
بالتوفيق
شاهد أيضاً:
بارك الله فيك وزادك علما ونفعا للناس وشد حيلك واعملنا كلاسس نشتغل بيها علىphp5
زى class mysqlكدا
وكتاب يشرح كيفيه المعامله مع php5
واحنا معاك حنشتغل علطول php5
انا عن نفسى عامل السيرفر بتاع الجهاز عندى php5 لكن نفسى ابتدى اكتب php5
وعلى فكره ياجماعه انت ممكن تبتدى بموضوع انك تحول سيرفر جهازك من php4الى php5مبدئيا لحد لما تشوف ايه الجديد فى تغير كودك php4الى php5 العمليه سهله لا تقلقوا وجزاك الله خيرا يا اخ حازم على هذا المجهود وافادك الله
جزاك الله خيرا يا ابوالعيال على الموضوعات النافعة
بالنسبة ل PHP5 أظن المفروض كنا اشتغلنا بيها من زمان
ده الإصدار السادس قرب ينزل
مش لازم نبقى متأخرين طول عمرنا
المهم أحد أهم ما جاء في PHP5 موضوع Access modifiers
انا صراحة مش عارف ترجمتها ايه بس هي اللي بتحدد مين يستعمل
ايه في الكود عندك ..وده طبعا كان عيب كبير في PHP4 وكان مخليها بعيد عن
الOOP بكتير…يعني عندك بدل مكنت تكتب var للمتغير وخلاص . لأ انت تحدد مين اللي يشوف ويتعامل معاه وبالمثل مع الدوال
وهما سهلين خالص Public,Private,Protected
Public: المتغير أو الداله يمكن التعامل معمهم من اي مكان داخل البرنامج
Private: ………………………….. من داخل الكلاس فقط
Protected : ………………………من داخل الكلاس أو الكلاسات الوارثة من هذا الكلاس.
يعني حاجة زي كده..وممكن اكون ناسي أو غلطان في حاجة ..
وطبعا ده ساعد في تطبيق مبادئ ال MVC وهي فصل الكود عن العرض عن التعامل مع قواعد البيانات.
دمتم بعافية
شكراً يا كيمو
محمد-تامر
جميل جداً الردود المفيدة والي بتخلي الموضوع يكون من العيار الثقيل
طبعاً انا وضحت ان في تغيرات كتير في الOOP بين php4 و php5 ولكني لم أذكرها
ومن أهما زي ما أنت قولت الـAccess modifiers والي ترجمتها على حد علمي مستويات التحكم !!
توضيح : Private لا بنتقل مع التوريث
و Public تعادل var تماماً
وأضافة لا يمكن التعامل مع صفة أو وظيفة داخل الكائن method بأسلوب static إلا إن كان الـAccess modifier اتاح بانه static هكذا :-
class hallo
{
public static world()
{
print "Hallo World!!";
}
}
hallo :: world();
شكراً تامر << ياريت تكلمني في أقرب وقت
من هنا وهناك PHP5 لعله يفيد
انا مقلتش ان الPrivate بينتقل مع التوريث
لكن الProtected بينتقل على ما افتكر
السلام عليكم …
جزاك الله خيراً اخي حازم، بالطبع PHP5 لديها الكثير من المميزات الهامه خصوصاً ما تم اضافته من تطوير لـ OOP فيها، اعتقد ان ما يعيق اغلب المبرمجين على كتابة او تحويل برامجهم من PHP4 إلى PHP5 هي السيرفرات، هل هناك عدد كبير من السيرفرات حدّثوا إلى PHP5 او يشغلونها بجانب PHP4، اذا كان كذلك اعتقد ان هذا سوف يسهل من عملية الانتقال. اما اذا كان العكس فـ لن يتمكن مجموعه من المستخدمين من استخدام برامجنا لان سيرفراتهم لا تحتوي على PHP5