‫تعريف ببعض أدوات مبرمج ‪PHP‬‬
‫في عالم البرمجيات الحرة المفتوحة المصدر‬
               ‫م. خالد الشمعة‬
‫نقاط هذا العرض التقديمي‬
                            ‫مشروع ‪ PHP‬واللغة العربية‬    ‫•‬
            ‫نظام ‪ CVS‬لحفظ وإدارة الشيفرة المصدرية‬       ‫•‬
    ‫نظام ‪ PHPUnits‬لمتمتة عمليات الفحص والتختبار‬         ‫•‬
 ‫نظام ‪ PHPDocumentor‬لمتمتة عملية متوثيق الشيفرة‬         ‫•‬
                                             ‫المصدرية‬
                                      ‫تخلصة ومتوصيات‬    ‫•‬
‫مشروع ‪ PHP‬واللغة العربية‬
‫• مكتبة مفتوحئة المصئدر متتضمن مجموعئة من الوظائئف الخاصة‬
‫باللغئة العربيئة منهئا علئى سئبيل المثال ل الحصئر: البحئث بدللة‬
‫ساق الكلمة والتلخيص اللي ومتحويل ما بين التأريخين الهجري‬
‫والميلدي والترجمة اللفظية ما بين الكلمات العربية والنجليزية.‬
             ‫لللطلع على المزيد: ‪http://www.ar-php.org‬‬

  ‫• 7002-6002 البناء البرمجي والنشر على ‪phpclasses.org‬‬

          ‫• 8002 :‪PHP5، sourceforge.org‬متحسين الداء ،‬
                         ‫‪PEAR‬‬
‫شروط النضمام إلى ‪PEAR‬‬
‫• ضرورة حفظ وإدارة الشيفرة المصدرية على مخدم ‪ CVS‬متاح‬
                 ‫على شبكة الويب )‪(Sourceforge.net‬‬

‫• ضرورة إلحاق برنامج يقوم باتختبار كافة مزايا وتخدمات المكتبة‬
                              ‫بشكل آلي مؤمتمت )‪(PHPUnit‬‬

     ‫• ضرورة متوفير متوثيق معياري للشيفرة المصدرية الخاصة‬
             ‫بالمكتبة المراد إضافتها )‪(phpDocumentor‬‬
‫مخدم ‪CVS‬‬
‫ما هو نظام ‪CVS‬؟‬
‫• نظام الصئئدارات المتزامنئئة ‪ CVS‬لحفظ الشيفرة‬
‫المصئدرية هئو نظام مجانئي مفتوح المصئدر قائئم على‬
                             ‫هيكلية المخدم / الزبون.‬

‫• يستخدم هذا النظام آلية الدمج للتعديلت التي يجريها عدة‬
‫مطوريئن، بعكئس نموذج القفئل الذي يسئمح لمطور واحد‬
                   ‫فقط بإجراء التعديلت في كل مرة.‬
‫نظام ‪ CVS‬والمشاريع المفتوحة المصدر‬
‫• إن كنت مبرمجا متطمح للمساهمة يوما ما في أي مشروع‬
‫برمجئي مفتوح المصئدر، لبئد لئك مئن أئن متتقئن لطريقة‬
‫التعامئل مئع مخدم ‪ CVS‬لتكون قادرا علئى استخراج‬
‫الشيفرة المصئدرية والحصئول عليهئا، فتقوم بعئد ذلك‬
‫بإضافة متعديلمتك إليها، ومن ثم إيداع متلك التعديلت التي‬
‫أضفتهئا مجددا فئي مكنئز الشيفرة المصئدرية الصلية‬
‫للمشروع، لتصئئبح جزءئئا منئئه ومتكون بالتالئئي متاحة‬
                                              ‫للتخرين.‬
‫أين يمكن استخدام نظام ‪CVS‬؟‬
‫• مئن ناحيئة المبدأ فإئن أئي مشروع مؤلئف مئن عدة ملفات يمكنه‬
‫السئتفادة مئن تخدمات نظام ‪ CVS‬مثئل: متطويئر الئبرمجيات أو‬
                             ‫مواقع الويب أو مشاريع التوثيق.‬

       ‫• متطبق مزايا نظام ‪ CVS‬على الملفات النصية فقط مثل:‬
                                     ‫• ملفات ‪HTML‬‬
                  ‫• ملفات ‪(RTF (Rich Text Format‬‬
       ‫• ملفات الشيفرة المصدرية مثل ‪ PHP‬أو ‪ C‬أو ‪Java‬‬
                                 ‫• ملفات ‪ XML‬و ‪SQL‬‬
‫كيف يعمل نظام ‪CVS‬؟ )1(‬
                         ‫يوجد مكنز ‪ repository‬على مخدم ما.‬          ‫•‬
‫يستخرج ‪ checkout‬كل من المطورين نسخة عمل ‪working‬‬                     ‫•‬
                                    ‫‪ copy‬على أنظمتهم المحلية.‬
‫يقوم المطورون بإجراء التعديلت على نسخة العمل المحلية التي‬           ‫•‬
                                      ‫متخصهم بطريقتهم المعتادة.‬
‫عند إنتهاء العمل على التعديل الذي يقومون به، عليهم أول إجراء‬        ‫•‬
‫عمليئة متحديئث ‪ update‬لنسئخة العمئل لديهئم لتدمئج فيها متعديلت‬
‫المطورين التخرين التي متم إيداعها في المكنز تخلل فترة العمل‬
                                                     ‫على التعديل.‬
‫كيف يعمل نظام ‪CVS‬؟ )2(‬
‫• بعئد إمتمام التعديلت وإنجاز عمليئة التحديث بنجاح يقوم المطور‬
‫بإيداع ‪ commit‬التعديلت التي قام بها في المكنز ليتم دمجها في‬
                                     ‫النسخة الصلية للمشروع.‬

‫• إن قام مطورين بتعديل ذات السطر البرمجي بشكل مستقل، حينها‬
‫ستفشل عملية اليداع، ويتلقى المطور التخير الذي يحاول اليداع‬
‫ملحظئة متفيئد بحدوث حالئة متعارض ‪ ،conflict‬ويتوجئب عليه‬
‫حينهئا حئل هذا التعارض بشكئل يدوي قبئل أئن يكون قادرا على‬
                                     ‫إيداع متعديلمته من جديد.‬
‫ما هي فوائد استخدام نظام ‪CVS‬؟ )1(‬
‫• يسئمح لعدة مطوريئن بالعمئل بشكئل مسئتقل علئى ذات مجموعة‬
      ‫الملفات، ليتم لحقا دمج متعديلمتهم في المكنز المركزي.‬

‫• يسئمح لئك بتتبئع مئن قام بإجراء التعديلت، و أيئن هئي متلك‬
‫التعديلت، و متى متم إجراؤها. كما يمكنك معرفة لماذا أجريت‬
‫متلك التعديلت إن إلتزم المطورون بإضافة متعليقات مفيدة مع كل‬
                                   ‫عملية إيداع يقومون بها.‬

‫• دليئل قوي فئي المحكمئة لثبات متطويئر البرمجيئة من تخلل‬
                                ‫عرض مراحل متطويرها.‬
‫ما هي فوائد استخدام نظام ‪CVS‬؟ )2(‬
‫• يقوم هذا النظام بحفظ الملفات ضمن مكنز مركزي، مع متوفير‬
‫نسئخ احتيالطيئة موزعئة علئى أنظمئة المطوريئن المحليئة )نسخ‬
                  ‫العمل التي سبق أن استخرجوها من المكنز(.‬

‫• متمكيئن فرق العمئل المنتشرة جغرافيئا مئن العمئل على ذات‬
       ‫المشروع )كما هي حال المشاريع المفتوحة المصدر(.‬

‫• حفئظ كافئة الصئدارات بدءئا مئن متاريئخ اسئتخدام النظام، على‬
‫عكس أسلوب النسخ الحتيالطي حيث نتخلص عادة من النسخ‬
                                             ‫القديمة بعد فترة.‬
‫ما هي فوائد استخدام نظام ‪CVS‬؟ )3(‬
‫• إمكانية متوليد متقرير يوضح مراحل متطور المشروع عبر الزمن‬
                          ‫لستقراء فعالية عملية التطوير.‬

‫• متوفير إمكانية التراجع عن أي من التعديلت التي متمت تخلل أي‬
‫فترة زمنيئة بسئهولة و اسئترجاع حالئة الملفات كمئا كانئت قبل‬
                                               ‫متاريخ معين.‬

‫• القتصئاد فئي اسئتخدام عرض نطاق المتصئال الشبكئي المتوفر‬
‫ومساحة التخزين على المخدم من تخلل حفظ التعديلت نسبة‬
                                ‫إلى الصدار السابق فقط.‬
‫ما ل يقوم به نظام ‪!CVS‬‬
‫• ل يعتئئبر نظام ‪ CVS‬وسئئيلة للمتصئئال بيئئن أعضاء الفريق‬
                       ‫البرمجي، وليس بديل للعمل الجماعي.‬

‫• ل يعتبر نظام ‪ CVS‬نظاما تخاصا بتتبع التخطاء ومتابعة عملية‬
                                               ‫إصلحها.‬

‫• ل يوفئئر نظام ‪ CVS‬أئئي أدوات لفحئئص الشيفرة البرمجية‬
                                           ‫وإتختبارها.‬
‫إطار عمل ‪PHPUnit‬‬
‫لتمتة الفحص والتختبار‬
‫ضرورة عمليات الفحص والختبار‬
‫• إن كل من مارس البرمجة يعلم متماما أن الوقوع في التخطاء هو‬
                                             ‫أمر ل مفر منه.‬
‫• علئى المئبرمج المحترف أئن يخطئط مسئبقا لتفحص التخطاء‬
‫والمواظبة على اتختبار ما يكتبه من شيفرات برمجية سعيا وراء‬
‫اصطياد مبكر للتخطاء مما يعزز من فرص اكتشافها ويقلل من‬
                                              ‫كلفة إصلحها.‬
 ‫• متعتئئبر عمليات التختبار متلئئك واحدا مئئن الركان الساسية‬
‫لعمليات مراقبئة وضبئط الجودة التئي ل غنئى عنهئا فئي عالم‬
                                                  ‫الحتراف.‬
‫ما هو برنامج ‪PHPUnit‬؟‬
‫• إلطار عمئل بسئيط وسئهل السئتخدام يسئاعد المئبرمج على بناء‬
  ‫ومتنفيذ عمليات الفحص والتختبار المؤمتمتة للوحدات البرمجية.‬

‫• إن برنامج ‪ PHPUnit‬هو فرد من عائلة مكتبة ‪ ،PEAR‬فإن‬
‫لئم يكئن متوفئر علئى المخدم الذي متسئتخدمه، يمكنئك متنصيبه‬
  ‫ببسالطة من تخلل متنفيذ التعليمتين التاليتين في سطر الوامر:‬

‫‪pear channel-discover pear.phpunit.de‬‬
‫‪pear install phpunit/PHPUnit‬‬
‫‪PHPUnit‬والمشاريع المفتوحة المصدر‬
‫• إئن إلحاق شيفرات التختبارات المؤمتمتئة بأئي برمجية حرة‬
‫مفتوحة المصدر متمكن المستخدم من التحقق من صحة عمل متلك‬
‫البرمجيئة علئى منصئته ويمنحئه مزيدا مئن الثقئة بهئا كون فريق‬
‫العمل المعني بتطويرها يتبع إجراءات ضمان الجودة المتعارف‬
                                                      ‫عليها.‬

‫• إن فائدة متوفر مثل هذه التختبارات المؤمتمتة يساعد أيضا كل‬
‫مئن يحاول متعديئل أئو متطويئر برمجيئة مئا علئى التأكئد مئن أن‬
‫التغييرات التئي قام بهئا لئم متتسئبب فئي ظهور أئي تخلئل فئي بقية‬
                                                ‫أرجاء البرمجية.‬
‫كيف يعمل ‪PHPUnit‬؟ )1(‬
‫• قد متبدو عملية متصميم وبناء التختبارات المؤمتمتة مستهلكة للوقت،‬
 ‫لكن هذا النطباع تخالطئ، فبناء اتختبار جديد باستخدام إلطار عمل‬
‫‪ PHPUnit‬ل يستغرق أكثر من بضع عشرات من الدقائق، كما‬
                             ‫أن متنفيذ التختبار ذامته يتم في ثوان.‬
‫كيف يعمل‬
‫‪PHPUnit‬؟ )2(‬
‫كيف يعمل ‪PHPUnit‬؟ )3(‬
‫برنامج ‪phpDocumentor‬‬
 ‫لتوثيق الشيفرة المصدرية‬
‫ما هو برنامج ‪phpDocumentor‬؟‬
‫• يعد التوثيق المتكامل والوافي واحدا من أهم سمات الحترافية في‬
‫العمل البرمجي، لكنه من جهة أتخرى يصنف على أنه واحد من‬
‫المهام التي متصيب معظم المبرمجين بالملل كونه يستهلك الكثير‬
‫من الوقت الذي يصرف بعيدا عن محبوبتهم البرمجة، لذا وجب‬
‫على المبرمج المحترف أن يجد حل وسطا ما بين شغف البرمجة‬
                                                ‫ورصانة التوثيق.‬
‫• يهدف ‪ phpDocumentor‬إلئى مسئاعدة المئبرمجين علئى متوليد‬
‫متوثيق معياري بشكل شبه آلي إنطلقا مما يكتبونه من ملحظات‬
‫ومتعليقات بيئن ثنايئا شيفرامتهئم المصئدرية شريطئة إمتباعهئم لطريقة‬
                       ‫معينة في كتابة متلك الملحظات والتعليقات‬
(1) ‫؟‬phpDocumentor ‫كيف يعمل‬
‫كيف يعمل‬
phpDocumentor
    ((2
(3) ‫؟‬phpDocumentor ‫كيف يعمل‬
phpdoc -o HTML:Smarty:PHP -d ArPHP -t Docs

phpdoc -o CHM:default:default -d ArPHP -t Docs

phpdoc -o PDF:default:default -d ArPHP -t Docs

f Filename-

ti Title-
‫مثال عن التوثيق الناتج‬
‫خلصة وتوصيات‬
‫• إئن التعريئف بالدوات المسئاعدة فئي كئل من عمليات إدارة‬
 ‫الشيفرة المصئئدرية وأمتمتئئة التختبارات ومتوثيق الشيفرة‬
‫المصئدرية هئي مسئألة ل متقئل أهميئة عئن إمتقان لغئة البرمجة‬
                                             ‫المستخدمة ذامتها.‬
‫• إئئن الحتراف ومتطلبات العمئئل الجماعئئي والمسئئاهمة في‬
‫البرمجيات الحرة المفتوحة المصدر متتطلب مهارات ل متنحصر‬
                        ‫بمجرد صقل موهبة التحليل والبرمجة.‬
‫• لذا أرى أئن متضاف مثئل هذه الدوات إلئى السئياق المتبئع في‬
           ‫المناهج التعليمية التي متؤهل كوادرنا من المبرمجين.‬
‫شكرا لحضوركم‬
www.ar-php.org

PHP Developer Tools - Arabic

  • 1.
    ‫تعريف ببعض أدواتمبرمج ‪PHP‬‬ ‫في عالم البرمجيات الحرة المفتوحة المصدر‬ ‫م. خالد الشمعة‬
  • 2.
    ‫نقاط هذا العرضالتقديمي‬ ‫مشروع ‪ PHP‬واللغة العربية‬ ‫•‬ ‫نظام ‪ CVS‬لحفظ وإدارة الشيفرة المصدرية‬ ‫•‬ ‫نظام ‪ PHPUnits‬لمتمتة عمليات الفحص والتختبار‬ ‫•‬ ‫نظام ‪ PHPDocumentor‬لمتمتة عملية متوثيق الشيفرة‬ ‫•‬ ‫المصدرية‬ ‫تخلصة ومتوصيات‬ ‫•‬
  • 3.
    ‫مشروع ‪ PHP‬واللغةالعربية‬ ‫• مكتبة مفتوحئة المصئدر متتضمن مجموعئة من الوظائئف الخاصة‬ ‫باللغئة العربيئة منهئا علئى سئبيل المثال ل الحصئر: البحئث بدللة‬ ‫ساق الكلمة والتلخيص اللي ومتحويل ما بين التأريخين الهجري‬ ‫والميلدي والترجمة اللفظية ما بين الكلمات العربية والنجليزية.‬ ‫لللطلع على المزيد: ‪http://www.ar-php.org‬‬ ‫• 7002-6002 البناء البرمجي والنشر على ‪phpclasses.org‬‬ ‫• 8002 :‪PHP5، sourceforge.org‬متحسين الداء ،‬ ‫‪PEAR‬‬
  • 4.
    ‫شروط النضمام إلى‪PEAR‬‬ ‫• ضرورة حفظ وإدارة الشيفرة المصدرية على مخدم ‪ CVS‬متاح‬ ‫على شبكة الويب )‪(Sourceforge.net‬‬ ‫• ضرورة إلحاق برنامج يقوم باتختبار كافة مزايا وتخدمات المكتبة‬ ‫بشكل آلي مؤمتمت )‪(PHPUnit‬‬ ‫• ضرورة متوفير متوثيق معياري للشيفرة المصدرية الخاصة‬ ‫بالمكتبة المراد إضافتها )‪(phpDocumentor‬‬
  • 5.
  • 6.
    ‫ما هو نظام‪CVS‬؟‬ ‫• نظام الصئئدارات المتزامنئئة ‪ CVS‬لحفظ الشيفرة‬ ‫المصئدرية هئو نظام مجانئي مفتوح المصئدر قائئم على‬ ‫هيكلية المخدم / الزبون.‬ ‫• يستخدم هذا النظام آلية الدمج للتعديلت التي يجريها عدة‬ ‫مطوريئن، بعكئس نموذج القفئل الذي يسئمح لمطور واحد‬ ‫فقط بإجراء التعديلت في كل مرة.‬
  • 7.
    ‫نظام ‪ CVS‬والمشاريعالمفتوحة المصدر‬ ‫• إن كنت مبرمجا متطمح للمساهمة يوما ما في أي مشروع‬ ‫برمجئي مفتوح المصئدر، لبئد لئك مئن أئن متتقئن لطريقة‬ ‫التعامئل مئع مخدم ‪ CVS‬لتكون قادرا علئى استخراج‬ ‫الشيفرة المصئدرية والحصئول عليهئا، فتقوم بعئد ذلك‬ ‫بإضافة متعديلمتك إليها، ومن ثم إيداع متلك التعديلت التي‬ ‫أضفتهئا مجددا فئي مكنئز الشيفرة المصئدرية الصلية‬ ‫للمشروع، لتصئئبح جزءئئا منئئه ومتكون بالتالئئي متاحة‬ ‫للتخرين.‬
  • 8.
    ‫أين يمكن استخدامنظام ‪CVS‬؟‬ ‫• مئن ناحيئة المبدأ فإئن أئي مشروع مؤلئف مئن عدة ملفات يمكنه‬ ‫السئتفادة مئن تخدمات نظام ‪ CVS‬مثئل: متطويئر الئبرمجيات أو‬ ‫مواقع الويب أو مشاريع التوثيق.‬ ‫• متطبق مزايا نظام ‪ CVS‬على الملفات النصية فقط مثل:‬ ‫• ملفات ‪HTML‬‬ ‫• ملفات ‪(RTF (Rich Text Format‬‬ ‫• ملفات الشيفرة المصدرية مثل ‪ PHP‬أو ‪ C‬أو ‪Java‬‬ ‫• ملفات ‪ XML‬و ‪SQL‬‬
  • 9.
    ‫كيف يعمل نظام‪CVS‬؟ )1(‬ ‫يوجد مكنز ‪ repository‬على مخدم ما.‬ ‫•‬ ‫يستخرج ‪ checkout‬كل من المطورين نسخة عمل ‪working‬‬ ‫•‬ ‫‪ copy‬على أنظمتهم المحلية.‬ ‫يقوم المطورون بإجراء التعديلت على نسخة العمل المحلية التي‬ ‫•‬ ‫متخصهم بطريقتهم المعتادة.‬ ‫عند إنتهاء العمل على التعديل الذي يقومون به، عليهم أول إجراء‬ ‫•‬ ‫عمليئة متحديئث ‪ update‬لنسئخة العمئل لديهئم لتدمئج فيها متعديلت‬ ‫المطورين التخرين التي متم إيداعها في المكنز تخلل فترة العمل‬ ‫على التعديل.‬
  • 10.
    ‫كيف يعمل نظام‪CVS‬؟ )2(‬ ‫• بعئد إمتمام التعديلت وإنجاز عمليئة التحديث بنجاح يقوم المطور‬ ‫بإيداع ‪ commit‬التعديلت التي قام بها في المكنز ليتم دمجها في‬ ‫النسخة الصلية للمشروع.‬ ‫• إن قام مطورين بتعديل ذات السطر البرمجي بشكل مستقل، حينها‬ ‫ستفشل عملية اليداع، ويتلقى المطور التخير الذي يحاول اليداع‬ ‫ملحظئة متفيئد بحدوث حالئة متعارض ‪ ،conflict‬ويتوجئب عليه‬ ‫حينهئا حئل هذا التعارض بشكئل يدوي قبئل أئن يكون قادرا على‬ ‫إيداع متعديلمته من جديد.‬
  • 11.
    ‫ما هي فوائداستخدام نظام ‪CVS‬؟ )1(‬ ‫• يسئمح لعدة مطوريئن بالعمئل بشكئل مسئتقل علئى ذات مجموعة‬ ‫الملفات، ليتم لحقا دمج متعديلمتهم في المكنز المركزي.‬ ‫• يسئمح لئك بتتبئع مئن قام بإجراء التعديلت، و أيئن هئي متلك‬ ‫التعديلت، و متى متم إجراؤها. كما يمكنك معرفة لماذا أجريت‬ ‫متلك التعديلت إن إلتزم المطورون بإضافة متعليقات مفيدة مع كل‬ ‫عملية إيداع يقومون بها.‬ ‫• دليئل قوي فئي المحكمئة لثبات متطويئر البرمجيئة من تخلل‬ ‫عرض مراحل متطويرها.‬
  • 12.
    ‫ما هي فوائداستخدام نظام ‪CVS‬؟ )2(‬ ‫• يقوم هذا النظام بحفظ الملفات ضمن مكنز مركزي، مع متوفير‬ ‫نسئخ احتيالطيئة موزعئة علئى أنظمئة المطوريئن المحليئة )نسخ‬ ‫العمل التي سبق أن استخرجوها من المكنز(.‬ ‫• متمكيئن فرق العمئل المنتشرة جغرافيئا مئن العمئل على ذات‬ ‫المشروع )كما هي حال المشاريع المفتوحة المصدر(.‬ ‫• حفئظ كافئة الصئدارات بدءئا مئن متاريئخ اسئتخدام النظام، على‬ ‫عكس أسلوب النسخ الحتيالطي حيث نتخلص عادة من النسخ‬ ‫القديمة بعد فترة.‬
  • 13.
    ‫ما هي فوائداستخدام نظام ‪CVS‬؟ )3(‬ ‫• إمكانية متوليد متقرير يوضح مراحل متطور المشروع عبر الزمن‬ ‫لستقراء فعالية عملية التطوير.‬ ‫• متوفير إمكانية التراجع عن أي من التعديلت التي متمت تخلل أي‬ ‫فترة زمنيئة بسئهولة و اسئترجاع حالئة الملفات كمئا كانئت قبل‬ ‫متاريخ معين.‬ ‫• القتصئاد فئي اسئتخدام عرض نطاق المتصئال الشبكئي المتوفر‬ ‫ومساحة التخزين على المخدم من تخلل حفظ التعديلت نسبة‬ ‫إلى الصدار السابق فقط.‬
  • 14.
    ‫ما ل يقومبه نظام ‪!CVS‬‬ ‫• ل يعتئئبر نظام ‪ CVS‬وسئئيلة للمتصئئال بيئئن أعضاء الفريق‬ ‫البرمجي، وليس بديل للعمل الجماعي.‬ ‫• ل يعتبر نظام ‪ CVS‬نظاما تخاصا بتتبع التخطاء ومتابعة عملية‬ ‫إصلحها.‬ ‫• ل يوفئئر نظام ‪ CVS‬أئئي أدوات لفحئئص الشيفرة البرمجية‬ ‫وإتختبارها.‬
  • 15.
    ‫إطار عمل ‪PHPUnit‬‬ ‫لتمتةالفحص والتختبار‬
  • 16.
    ‫ضرورة عمليات الفحصوالختبار‬ ‫• إن كل من مارس البرمجة يعلم متماما أن الوقوع في التخطاء هو‬ ‫أمر ل مفر منه.‬ ‫• علئى المئبرمج المحترف أئن يخطئط مسئبقا لتفحص التخطاء‬ ‫والمواظبة على اتختبار ما يكتبه من شيفرات برمجية سعيا وراء‬ ‫اصطياد مبكر للتخطاء مما يعزز من فرص اكتشافها ويقلل من‬ ‫كلفة إصلحها.‬ ‫• متعتئئبر عمليات التختبار متلئئك واحدا مئئن الركان الساسية‬ ‫لعمليات مراقبئة وضبئط الجودة التئي ل غنئى عنهئا فئي عالم‬ ‫الحتراف.‬
  • 17.
    ‫ما هو برنامج‪PHPUnit‬؟‬ ‫• إلطار عمئل بسئيط وسئهل السئتخدام يسئاعد المئبرمج على بناء‬ ‫ومتنفيذ عمليات الفحص والتختبار المؤمتمتة للوحدات البرمجية.‬ ‫• إن برنامج ‪ PHPUnit‬هو فرد من عائلة مكتبة ‪ ،PEAR‬فإن‬ ‫لئم يكئن متوفئر علئى المخدم الذي متسئتخدمه، يمكنئك متنصيبه‬ ‫ببسالطة من تخلل متنفيذ التعليمتين التاليتين في سطر الوامر:‬ ‫‪pear channel-discover pear.phpunit.de‬‬ ‫‪pear install phpunit/PHPUnit‬‬
  • 18.
    ‫‪PHPUnit‬والمشاريع المفتوحة المصدر‬ ‫•إئن إلحاق شيفرات التختبارات المؤمتمتئة بأئي برمجية حرة‬ ‫مفتوحة المصدر متمكن المستخدم من التحقق من صحة عمل متلك‬ ‫البرمجيئة علئى منصئته ويمنحئه مزيدا مئن الثقئة بهئا كون فريق‬ ‫العمل المعني بتطويرها يتبع إجراءات ضمان الجودة المتعارف‬ ‫عليها.‬ ‫• إن فائدة متوفر مثل هذه التختبارات المؤمتمتة يساعد أيضا كل‬ ‫مئن يحاول متعديئل أئو متطويئر برمجيئة مئا علئى التأكئد مئن أن‬ ‫التغييرات التئي قام بهئا لئم متتسئبب فئي ظهور أئي تخلئل فئي بقية‬ ‫أرجاء البرمجية.‬
  • 19.
    ‫كيف يعمل ‪PHPUnit‬؟)1(‬ ‫• قد متبدو عملية متصميم وبناء التختبارات المؤمتمتة مستهلكة للوقت،‬ ‫لكن هذا النطباع تخالطئ، فبناء اتختبار جديد باستخدام إلطار عمل‬ ‫‪ PHPUnit‬ل يستغرق أكثر من بضع عشرات من الدقائق، كما‬ ‫أن متنفيذ التختبار ذامته يتم في ثوان.‬
  • 20.
  • 21.
  • 22.
  • 23.
    ‫ما هو برنامج‪phpDocumentor‬؟‬ ‫• يعد التوثيق المتكامل والوافي واحدا من أهم سمات الحترافية في‬ ‫العمل البرمجي، لكنه من جهة أتخرى يصنف على أنه واحد من‬ ‫المهام التي متصيب معظم المبرمجين بالملل كونه يستهلك الكثير‬ ‫من الوقت الذي يصرف بعيدا عن محبوبتهم البرمجة، لذا وجب‬ ‫على المبرمج المحترف أن يجد حل وسطا ما بين شغف البرمجة‬ ‫ورصانة التوثيق.‬ ‫• يهدف ‪ phpDocumentor‬إلئى مسئاعدة المئبرمجين علئى متوليد‬ ‫متوثيق معياري بشكل شبه آلي إنطلقا مما يكتبونه من ملحظات‬ ‫ومتعليقات بيئن ثنايئا شيفرامتهئم المصئدرية شريطئة إمتباعهئم لطريقة‬ ‫معينة في كتابة متلك الملحظات والتعليقات‬
  • 24.
  • 25.
  • 26.
    (3) ‫؟‬phpDocumentor ‫كيفيعمل‬ phpdoc -o HTML:Smarty:PHP -d ArPHP -t Docs phpdoc -o CHM:default:default -d ArPHP -t Docs phpdoc -o PDF:default:default -d ArPHP -t Docs f Filename- ti Title-
  • 27.
  • 28.
    ‫خلصة وتوصيات‬ ‫• إئنالتعريئف بالدوات المسئاعدة فئي كئل من عمليات إدارة‬ ‫الشيفرة المصئئدرية وأمتمتئئة التختبارات ومتوثيق الشيفرة‬ ‫المصئدرية هئي مسئألة ل متقئل أهميئة عئن إمتقان لغئة البرمجة‬ ‫المستخدمة ذامتها.‬ ‫• إئئن الحتراف ومتطلبات العمئئل الجماعئئي والمسئئاهمة في‬ ‫البرمجيات الحرة المفتوحة المصدر متتطلب مهارات ل متنحصر‬ ‫بمجرد صقل موهبة التحليل والبرمجة.‬ ‫• لذا أرى أئن متضاف مثئل هذه الدوات إلئى السئياق المتبئع في‬ ‫المناهج التعليمية التي متؤهل كوادرنا من المبرمجين.‬
  • 29.