صفحة 1 من 2 12 الأخيرةالأخيرة
النتائج 1 إلى 15 من 21

الموضوع: ][! الإنتقال الأمثل إلى PHP5 - ][ (نصائح و استراتيجيات ّ][

  1. ][! الإنتقال الأمثل إلى PHP5 - ][ (نصائح و استراتيجيات ّ][





    المرحلة الانتقالية بين php4 و php5

    نصائح للانتقال الأمثل إلى php5


    تجد هنا نسخة منسقة من الموضوع بتنسيق PDF (118 kb)

    مقدمة :
    صدرت النسخة الخامسة من php بشكل رسمي مؤخراً ، و بدأت معها رحلة جديدة و مشوار انتقالي قد يكلف الكثير من الوقت الشيء الذي يعني الكثير من المال بالنسبة للبعض ، هذا الموضوع هو توثيق لثلاث تجارب مختلفة حول نفس الموضوع ، الأولى كانت الانتقال من Perl إلى php ، الثانية الانتقال من php3 إلى php4 و الأخيرة كانت التحول المثير إلى بيئة الـ Dot Net ، لعل البيئات تختلف بشكل متباين لكن الحالة تكاد تكون واحدة حيث في كل مره كانت مجموعة من الأسئلة تطرح بشكل متكرر ، هل نستمر في استخدام التقنية القديمة ؟ ، متى سوف يتوفر الدعم الكامل للتقنية الجديدة ؟ ، هل نحتاج إلى تعلم شيء جديد بالنسبة للتقنية الجديدة أم أن ما تعلمناه سابقاً يمكن تطبيقه كما هو في التقنية الجديدة ... و الكثير من الأسئلة الأخرى المشابهة ، من خلال هذا الموضوع سوف أحاول بإذن الله جاهداً أن أوضح بعض المسارات التي يمكن إتباعها في حالات مختلفة حتى يكون الانتقال إلى php5 سهل و سلس قدر الإمكان .

    وضع مشابه:
    في بداية سنة 2000 و مع صدور النسخة الرابعة من php ، ظهرت مشكلة مشابهة للوضع الحالي و هي انتقال مجتمع php من الإصدارة الثالثة إلى الرابعة ، و إلى حد ما يمكن أن نقول أن تلك الحالة كانت أبسط من المشكلة الحالية ، بسبب التوافق الكبير بين النسختين الثالثة و الرابعة حيث أن أغلب البرامج التي طورت على php3 لم تحتاج إلى الكثير من التعديلات لتعمل بشكل صحيح على php4 ، كذلك الأمر الآن مع php4 و php5 ، فبرغم من أن النسخة php5 تحتوي على اختلافات جوهرية بعضها في طريقة كتابة الجمل Syntax و أخرى في بعض الدوال على رأسها دوال مكتبة MySQL التي استبدلت بـ MySQLi و الكثير من الاختلافات الأخرى ألا أن عملية الانتقال إلى php5 ليست بتلك الصعوبة لكنها قد تحتاج إلى بعض الجهد نظراً لكمية الأشياء الجديدة في هذه النسخة ! .

    العملية ليست سهلة و ليست صعبة أيضاً ، فالمفاهيم البرمجية الجديدة التي استحدثت في php5 غالبها متعلق بجانب البرمجة بالكائنات ، و التغيرات التي حصلت بالنسبة للـ MySQL واضحة و ليست معقدة ، أما ما أستحدث من أشياء مثل SimpleXML و SQLite فإن لك الحرية في تعلمها و استخدامها أو عدم تعلمها ولا استخدامها ، و بشكل عام فإن كل ما تعرفه في php4 لا يزال صحيحاً في php5 و يمكن تطبيقه ، مع بعض الاختلافات في بعض الأشياء ! .

    و لتوضيح الحقيقة فقد أجاب Zeev عن سؤال حول توافق php5 مع النسخ السابقة فكان رده، (لا، الوظائف الرئيسية سوف تظل كما هي، لكن لأن php5 أضافت العديد من مميزات البرمجة بالكائنات OOP الجديدة و الكثير من الأدوات، قد يسبب هذا الشيء مشاكل لبعض البرامج القديمة ) .

    المشاكل المتوقعة عند الانتقال إلى php5:
    لنناقش الموضوع من زاوية المبرمجين و هم الأكثر احتكاكاً باللغة و الأكثر تأثراً بالتعديلات ( الأمر أقل كلفة بالنسبة لمستخدمي البرامج الجاهزة و مستضيفي الواقع )، سوف يواجه المبرمجين للانتقال إلى php5 عدة مشاكل أبرزها:
    • الحاجة إلى تعلم مفاهيم جديدة تماماً بالنسبة للغة php و أغلبها تتعلق بموضوع البرمجة بالكائنات ( من الأشياء الجديدة في هذا المجال abstract، interface، final method, final class... الخ ) و المواضيع المتعلقة بالتعامل مع الأخطاء Error Handling حيث أضيفت ميزة الـ Exception و غير ذلك من المميزات الجديدة تماماً في php .

    • في حالة كان المبرمج يريد البدء بمشروع جديد، هل يقوم بتنفيذه على php4 أو php5 ؟ . فإن بدأ مشروعه الجديد على php5 فسوف يواجه مشكلة أن عدد المستضيفين الداعمين لـ php5 في هذا الوقت بسيط ، و قد لا يملك أغلب العملاء ملقم يحتوي على php5 ، و إن بدأ المشروع على php4 فتكون المشكلة أنه بعد فترة وجيزة سوف يصبح مشروعه قديم و يحتاج إلى تطوير ! .

    • ما هو وضع المشاريع الحالية ؟ هل نقوم بتحويلها إلى php5 أم نستمر في تطويرها باستخدام php4 .

    المشاكل السابقة هي الأكثر بروزاً من بين المشاكل الأخرى ، لنأخذ كل مشكلة منها و نقدم حلول تساعد على تجاوزها بسهولة ، لكن قبل ذلك دعونا نتصور السيناريو المحتمل لدعم مستضيفي المواقع لـ php5 خلال فترة 1-3 أشهر لأن ذلك سوف يساعدنا في اتخاذ القرارات بشكل صائب .

    السيناريو المحتمل:
    نظراً للتسابق الكبير بين مستضيفي المواقع ، فإنه يحتمل و بشكل كبير أن نرى أغلب مستضيفي المواقع يقدموا دعم لـ php5 بشكل متوازي مع php4 ، يؤيد هذا الرأي وجود عدد من مستضيفي المواقع بدأ بالفعل بتقديم عروض تدعم php5 منذ الإصدارة RC1 و أثناء كتابة هذه المقالة وجدنا عدد لا بأس به من مستضيفي المواقع مع دعم php5 .

    العملية أشبه ما تكون بتوازن بين المبرمجين و مستضيفي المواقع ، ففي حالة تقديم حلول كثيرة تتطلب php5 سوف يضطر المستضيفين إلى توفير php5 بأسرع وقت ممكن على ملقماتهم ، ولكن لأننا نتوقع أن البرامج المكتوبة بـ php5 لن تظهر بشكل كثيف إلا بعد شهرين من الآن ( و بالأخص تلك البرامج الكبيرة ذات الشهرة الواسعة ) فنتوقع أيضاً أن الدعم الكامل لـ php5 على الملقمات لن يكون في أقل من 2-3 أشهر ، و الله أعلم .

    لنعود مره أخرى إلى المشاكل الثلاثة التي تحدثنا عنها و نتخذ القرارات المناسبة لتجاوزها .

    مشكلة تعلم المفاهيم الجديدة :
    الكثير من المفاهيم البرمجية أضيفت إلى php5 و لم تكن موجودة من قبل و هذا أدى إلى إجراء مجموعة من التغييرات في الـ Syntax (طريقة الكتابة) ، أضف إلى هذا و ذاك مجموعة من المميزات الجديدة ، إذاً ماهو الحل لتجاوز هذه العقبة ؟ .
    الحل الأمثل هو تعلم هذه الأشياء !!! لكنك لست بحاجة إلى تعلم كل شيء من الصفر فأنت تعرف مسبقاً الكثير عن php لذلك فلا تضع وقتك و مالك بشراء أي كتاب عن php5 إلا في حالة كان الكتاب موجه للمبرمجين السابقين بلغة php و أحد أفضل هذه الكتب هو كتاب Upgrading to php5 من شركة Oreilly ، الكتاب مكون من 300 صفحة تقريباً ، قيمته 30$ و يمكن الحصول على نسخة الكترونية من الكتاب عن طريق الاشتراك في موقع http://safari.oreilly.com .

    لكن لنفرض أنك لا تريد شراء هذا الكتاب ولا أي كتاب آخر ، هذه ثلاث خطوات سريعة قد تساعدك على وضع نفسك في المسار الصحيح بسرعة و بدون هدر الكثير من الوقت :

    1. قم بإلقاء نظرة على كل الأشياء الجديدة في php5 ، أماكن كثيرة يمكنك أن تجد فيها مثل هذه المعلومات أحدها هو العنوان التالي و الذي يحتوي على فصل من أحد الكتب التي تتحدث عن php5 :
    http://www.zend.com/php5/andi-book-excerpt.php

    2. لتبدأ بتعلم الأشياء الجديدة التي أضيفت للغة ذاتها مثل الإضافات الجديدة الخاصة بالبرمجة بالكائنات OOP ، التعامل مع الأخطاء ، و الطريقة الجديدة للتكرارات .

    3. يفترض أنك من خلال الخطوة الأولى قد أخذت فكرة عامة عن جميع الأشياء التي تغيرت و الأشياء الجديدة ، و في الخطوة الثانية انتهيت من تعلم المستجدات الخاصة باللغة ، في هذه الخطوة قم بتعلم الأشياء الأخرى الجديدة و التي تحتاجها فقط ، مثلاً قد لا تحتاج إلى التعامل مع XML في الوقت الحالي لذلك لا تتعلم ما يدعى بـ SimpleXML لكن في المقابل أنت بحاجة إلى الربط مع قواعد بيانات MySQL فأقرأ حول ما تغير في هذا الجزء بالتحديد ، و ليكن أول مرجع لك للبحث عن إجابات حول أحد المواضيع هو دليل اللغة (الجديد!) ، ثم ابحث في الانترنت إذا لم تجد الإجابة في الدليل .

    بإتباع هذه الثلاث خطوات سوف تقلص وقت التعلم بشكل كبير و لن تحتاج إلى بذل جهد كبير للانتقال إلى php5 .

    مشكلة المشاريع الجديدة :
    هل نبرمج المشاريع الجديدة على php5 ؟ أم نبرمجها الآن على php4 ثم نقوم بتحديثها بعد ذلك لتعمل على php5 ؟! .
    إذا كنا قد اتفقنا على السيناريو المحتمل لدعم php5 على ملقمات مستضيفي المواقع خلال فترة بين 2 – 3 أشهر ، فنستطيع أن نقول أن الخيار الأفضل هو البدء بتطوير البرنامج على php5 ، خصوصاً إذا كانت الفترة المتوقعة لإنجاز المشروع تقارب الشهر أو تزيد عليه ، بحيث أن موعد صدور البرنامج سوف يكون مقارب للفترة التي يعمم فيها php5 على أغلب الملقمات .


    مشكلة المشاريع الحالية :
    عملية تحويل php4 إلى php5 ليست أكثر من مسألة وقت خصوصاً إذا كان المبرمج ( أو فريق البرمجة ) قد استوعب التغيرات الجديدة في php5 ، لكن هل نحول أو لا نحول ؟!!
    الإجابة معقدة ، خصوصاً أن المشاريع الحالية ترتبط بعوامل قد تؤثر في اتخاذ القرار بالتحول إلى النسخة الجديدة أو لا من هذه العوامل على سبيل المثال العملاء و الحاجة إلى الدعم الفني أو وجود عقود ملزمة من طرفك بتقديم تحديثات لمدة معينة بحيث يكون التحول إلى php5 مخل بالعقد ، في هذه الحالة فالقرار بيدك ، و الحل الأمثل أنت تحدده ، بإمكانك أن تمضي في مسارين أحدهما تقوم فيه بمتابعة التحديثات الضرورية الخاصة بالنسخة القديمة من برنامجك و التي تعمل على php4 و في نفس الوقت تعمل بمسار آخر لإصدار نسخة جديدة تعمل على php5 .
    مهما كان اختيارك فلابد أن تعرف أنه يتوقع خلال فترة قد لا تزيد عن السنة أو تزيد قليلاً ( الله أعلم مجرد توقع مبني على ما حدث سابقاً مع php3 ) فإن php4 قد تختفي من معظم الملقمات لتحل php5 كخيار وحيد .


    قبل الإغلاق ..
    أحببت قبل أن أختم الموضوع أن أشير إلى نقطة مهمة وهي أنه ليس بالضرورة أن يكون كل ما كتب لـ php4 غير متوافق مع php5 أو العكس ، بل يمكن الوصول إلى برنامج يعمل على كل منهما ، لكن لك أن تتخيل الجهد الذي يتطلبه مثل هذا العمل ! ، و قد قمت بتجربة تشغيل بعض البرامج التي تعمل بشكل جيد على php4 منها ما هو خاص و بعضها مشهور و متداول مثل php-nuke، phpMyAdmin ، vB و XOOP ، عدد كبير من البرامج عمل بشكل طبيعي مع بعض المشاكل البسيطة ( أغلب المشاكل كانت تتعلق بكلمة var و استبدالها بـ protected ، public ، أو private ) وفي المقابل توقفت بعض لبرامج عن العمل بشكل كامل ، سبب هذا التفاوت غالباً ما يعود إلى هيكل البرنامج و طريقة برمجته ، قم بتجربة برامجك على php5 فقد يحالفك الحظ و تكون برامجك متوافقة بشكل كامل مع php5 ! أتمنى لك التوفيق ...

    -------------------------------------------------------------------------------

    تحياتي / مازن عبد الله مليباري





    __________________
    مدونتي الشخصية :
    http://www.mazen.ws
    عن البرمجة و تطوير المواقع و علوم الحاسب
    ماسنجر :
    desclub@hotmail.com
    بريد الكتروني :
    mazen@mazen.ws
    مازن مليباري غير متواجد حالياً




  2. يتبع بإذن الله .. استراتيجيات عملية لتهيئة بيئة عمل تدعم php5 و php4 بشكل متوازي





    __________________
    مدونتي الشخصية :
    http://www.mazen.ws
    عن البرمجة و تطوير المواقع و علوم الحاسب
    ماسنجر :
    desclub@hotmail.com
    بريد الكتروني :
    mazen@mazen.ws
    مازن مليباري غير متواجد حالياً

  3. #3
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2003
    المشاركات
    746


    جاري التحميل وجزاك الله كل خير أتمنى الا تنقطع





    aldosari غير متواجد حالياً

  4. #4
    عضو فعال جدا
    تاريخ التسجيل
    Feb 2002
    المشاركات
    2,289


    تغيب ويوم تطلع تطلع مع قمر 15

    حفظك الله ورعاك وبانتظار الجزء الثاني





    المهمة9 غير متواجد حالياً



  5. رد مقتبس من aldosari
    جاري التحميل وجزاك الله كل خير أتمنى الا تنقطع

    و جزاك الله خير ... أدعي لي إن الامور تكون مستتبه و ماراح أنقطع ان شاء الله





    __________________
    مدونتي الشخصية :
    http://www.mazen.ws
    عن البرمجة و تطوير المواقع و علوم الحاسب
    ماسنجر :
    desclub@hotmail.com
    بريد الكتروني :
    mazen@mazen.ws
    مازن مليباري غير متواجد حالياً



  6. رد مقتبس من المهمة9
    تغيب ويوم تطلع تطلع مع قمر 15

    حفظك الله ورعاك وبانتظار الجزء الثاني

    حيا الله منسق مجموعة جدة
    الجزء الثاني بعد غد بإذن الله انتظرونا ..





    __________________
    مدونتي الشخصية :
    http://www.mazen.ws
    عن البرمجة و تطوير المواقع و علوم الحاسب
    ماسنجر :
    desclub@hotmail.com
    بريد الكتروني :
    mazen@mazen.ws
    مازن مليباري غير متواجد حالياً

  7. #7
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2001
    المشاركات
    749


    رائع جدا

    لكن عندي سؤال

    ماهي التغييرات الواردة في ال Mysql حيث اني لاحظت انك كتبتها MysqlI

    مافرق الاثنتين ؟





    __________________
    www.fmlog.com
    المحارب غير متواجد حالياً

  8. #8
    عضو فعال
    تاريخ التسجيل
    Nov 2002
    المشاركات
    1,602


    Nasa Baby

    موضوع اكثر من رائع ونصائح مفيده
    بارك الله فييك.





    __________________
    المغردون العرب
    all-the-vb غير متواجد حالياً

  9. #9
    عضو نشيط جدا
    تاريخ التسجيل
    Mar 2003
    المشاركات
    305


    يا شييييييخ ..
    ما اقول الا ..






    كيف حالك !!



    اخوي مازن تابع والله يوفقك

    تقبل تحياتي .. اخوك نواف





    __________________
    # مشاريع :
    - الفوائد .. خلاصة العلم والمعرفة
    - غواصة .. اجمع اصدقاءك وابحر بالغواصة

    # مدونتي nawaf.me
    العملاق غير متواجد حالياً

  10. #10



    بصراحة من أفضل المقالات العربية التي قرأت في هذا المجال

    ننتظر جديدك أخي الكريم
    وبالتوفيق





    __________________
    مدونتي الشخصية : Q_Q
    فليكري : o_O
    تويتري : ’_’
    حياكم فيهم
    الشريف.نت غير متواجد حالياً



  11. رد مقتبس من المحارب
    رائع جدا

    لكن عندي سؤال

    ماهي التغييرات الواردة في ال Mysql حيث اني لاحظت انك كتبتها MysqlI

    مافرق الاثنتين ؟
    أهلاً بك أخي المحارب ...
    لازال بالإمكان التعامل مع الـ MySQL extension القديم ، لكن تمت اضافة extension جديد بإسم MySQLi ( و الـ I هي الحرف الأول من improved ، ingenious, interface, incompatible أو incomplete )

    أهم مايمكن ذكره عن MySQLi :
    - التوافق مع MySQL 4.1 و مايتبعها من إصدارات .
    - لـ MySQLi واجهتين للتعامل معها الاولى هي الواجهة المعتمدة على الدوال (procedural) بحيث يمكن تستخدم الأوامر بالطريقة التالية
    كود PHP:
    mysqli_connect(..)
    mysqli_select_db(..) 
    وهي الطريقة ذاتها المستخدمه مع الإصدار القديم من الـ extension .
    أما الواجهة الأخرى فهي الـ object-oriented interface
    كود PHP:
    $mysqli = new mysqli(.....);
    $mysqli->select_db(...); 
    - أيضاً ميزة رائعة جداً الآن يمكن استخدامها وهي الـ prepared statements إلى حد ما يمكن مشابهتها بـ Stored Procedures و هي شيء مثير جداً انصح الجميع بتجربتها و استخدامها

    تستحق MySQLi الكثير من الكلام و بإذن الله أخصص لها موضوع نفصل ...

    شاكر لك سؤال أخي المحارب و بارك فيك ...
    زرت موقعك ووجدتك أنزلت أحد كتب الـ PHP ما رأيك لو تقوم بإنزال كتاب Upgrading to PHP 5 سوف يكون مفيداً جداً للكثيرين


    -----------------------------------
    هذا رابط مفيد حول MySQLi
    http://www.zend.com/php5/articles/php5-mysqli.php





    __________________
    مدونتي الشخصية :
    http://www.mazen.ws
    عن البرمجة و تطوير المواقع و علوم الحاسب
    ماسنجر :
    desclub@hotmail.com
    بريد الكتروني :
    mazen@mazen.ws
    مازن مليباري غير متواجد حالياً



  12. all-the-vb
    Nasa Baby

    موضوع اكثر من رائع ونصائح مفيده
    بارك الله فييك.
    شكراً لك و بارك الله فيك


    --------------------------------------------------------

    يا شييييييخ ..
    ما اقول الا ..
    كيف حالك !!
    اخوي مازن تابع والله يوفقك

    تقبل تحياتي .. اخوك نواف
    هلا و الله كيف حالك انت ان شاء الله الأهل كلهم باحسن حال
    شاكر لك دعائك و ربنا يوفقك

    -----------------------------------------------------

    الشريف.نت
    بصراحة من أفضل المقالات العربية التي قرأت في هذا المجال

    ننتظر جديدك أخي الكريم
    وبالتوفيق
    شاكر لك كلامك اللطيف
    و الكثير قريباً ان شاء الله





    __________________
    مدونتي الشخصية :
    http://www.mazen.ws
    عن البرمجة و تطوير المواقع و علوم الحاسب
    ماسنجر :
    desclub@hotmail.com
    بريد الكتروني :
    mazen@mazen.ws
    مازن مليباري غير متواجد حالياً

  13. #13


    السلام عليكم ورحمه الله وبركاته


    جزاك الله خيرا أخي علي الموضوع الرائع وجعله في ميزان حسناتك يوم القيامة ان شاء الله

    الحمد لله انني جديد في البرمجه بال php فالبدء بتعلم php5 ربما يكون اسهل من التحديث



    تقبل تحياتي علي الموضوع الرائع وبانتظار الجديد





    __________________
    أحمد أبو الدهب

    كلما أدبني الدهر.. أراني نقص عقلي
    وكلما إزددت علما .. زادني علما بجهلي

    معا لدعم ال php في مصر

    www.phpegypt.com
    abu_eldahab غير متواجد حالياً

  14. #14
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2001
    المشاركات
    749


    شاكر لك أوي أوي يا مازن على التوضيح

    اما الكتاب ابشر به

    حمل يا محمل

    وادعي لي





    __________________
    www.fmlog.com
    المحارب غير متواجد حالياً

  15. #15
    عضو نشيط جدا
    تاريخ التسجيل
    Nov 2000
    المشاركات
    394


    شكرا لصاحب الموضوع

    وشكرا للمحارب على الكتاب








    __________________
    اللهم صلي على محمد وآل محمد
    المحبوب غير متواجد حالياً





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض