Your SlideShare is downloading. ×
0
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
PHP Developer Tools - Arabic
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

PHP Developer Tools - Arabic

688

Published on

I present this in the FLOSS conference in Aleppo University 2003

I present this in the FLOSS conference in Aleppo University 2003

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
688
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
28
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. ‫مخدم ‪CVS‬‬
  • 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. ‫كيف يعمل‬‫‪PHPUnit‬؟ )2(‬
  • 21. ‫كيف يعمل ‪PHPUnit‬؟ )3(‬
  • 22. ‫برنامج ‪phpDocumentor‬‬ ‫لتوثيق الشيفرة المصدرية‬
  • 23. ‫ما هو برنامج ‪phpDocumentor‬؟‬‫• يعد التوثيق المتكامل والوافي واحدا من أهم سمات الحترافية في‬‫العمل البرمجي، لكنه من جهة أتخرى يصنف على أنه واحد من‬‫المهام التي متصيب معظم المبرمجين بالملل كونه يستهلك الكثير‬‫من الوقت الذي يصرف بعيدا عن محبوبتهم البرمجة، لذا وجب‬‫على المبرمج المحترف أن يجد حل وسطا ما بين شغف البرمجة‬ ‫ورصانة التوثيق.‬‫• يهدف ‪ phpDocumentor‬إلئى مسئاعدة المئبرمجين علئى متوليد‬‫متوثيق معياري بشكل شبه آلي إنطلقا مما يكتبونه من ملحظات‬‫ومتعليقات بيئن ثنايئا شيفرامتهئم المصئدرية شريطئة إمتباعهئم لطريقة‬ ‫معينة في كتابة متلك الملحظات والتعليقات‬
  • 24. (1) ‫؟‬phpDocumentor ‫كيف يعمل‬
  • 25. ‫كيف يعمل‬phpDocumentor ((2
  • 26. (3) ‫؟‬phpDocumentor ‫كيف يعمل‬phpdoc -o HTML:Smarty:PHP -d ArPHP -t Docsphpdoc -o CHM:default:default -d ArPHP -t Docsphpdoc -o PDF:default:default -d ArPHP -t Docsf Filename-ti Title-
  • 27. ‫مثال عن التوثيق الناتج‬
  • 28. ‫خلصة وتوصيات‬‫• إئن التعريئف بالدوات المسئاعدة فئي كئل من عمليات إدارة‬ ‫الشيفرة المصئئدرية وأمتمتئئة التختبارات ومتوثيق الشيفرة‬‫المصئدرية هئي مسئألة ل متقئل أهميئة عئن إمتقان لغئة البرمجة‬ ‫المستخدمة ذامتها.‬‫• إئئن الحتراف ومتطلبات العمئئل الجماعئئي والمسئئاهمة في‬‫البرمجيات الحرة المفتوحة المصدر متتطلب مهارات ل متنحصر‬ ‫بمجرد صقل موهبة التحليل والبرمجة.‬‫• لذا أرى أئن متضاف مثئل هذه الدوات إلئى السئياق المتبئع في‬ ‫المناهج التعليمية التي متؤهل كوادرنا من المبرمجين.‬
  • 29. ‫شكرا لحضوركم‬www.ar-php.org

×