الأربعاء، 5 غشت 2009

تعريف : منصة العمل كود إغنيتر

تعريف :
كود إغنيتر أو ِCodeIgniter بالإنجليزية هو منصة عمل خاصة بلغة البرمجة php كان أول ظهور لهذه المنصة في فبراير 2006 بأول نسخة, هذه المنصة مدعومة من طرف شركة EllisLab والهدف الأساسي من خلق هذه المنصة هو " تمكين [المطورين] لتطوير المشاريع أسرع بكثير من الكتابة...إبتداء من الصفر ، من خلال توفير مجموعة غنية من المكتبات التي تسهل العمل ، وكذلك واجهة بسيطة ومنطقية للوصول إلى هيكل هذه المكتبات (مصدر هذه الجملة تعريب من ويكيبيديا)". وقد تحدث عنها في صيف سنة 2008 راسيم لودورف مأسس لغة PHP وقد قال أنه أحب هذه المنصة "لأنها أسرع وأخف وزنا واسرع من المنصات الأخرى". وقد إنشقت عن هذه المنصة وبالضبط في الإصدار 1.5 منصة اخرى تدعى كوهانا في سنة 2007 بعد تدمر المشتخدمين من بطأ الشركة عن دعم هذه المنصة لتنتج عن هذا مجتمع الكوهانا للتطوير منصة منفصلة.

مشاريع منجزة بهذه المنصة :
www.voices.com
www.importgenius.com
www.browseformusic.com
www.filepanda.com
لائحة بمواقع منجزة بهذه المنصة

كتاب المستخدم :
http://codeigniter.com/user_guide/ من أهم الأشياء الواجب قرائتها لإستعمال هذه المنصة

دروس تحفزية :
تقديم للمنصة (فيديو)
إنجاز مدونة في أقل من 20 دقيقة
البحث بإستعمال الأجاكس في عرض النتائج
إنجاز صفحة تحميل ملفات
العديد من الدروس

سأبدأ لاحقا بدورة لتعليم أساسيات العمل بهذه المنصة وكيفية التطوير بإستعمالها .
فيديو بسيط لكيفة البدأ بالعمل بإستعمال هذه المنصة والإعدادات الضرورية :


السبت، 1 غشت 2009

تطبيق API على موقع Bit.ly

السلام عليكم
منذ يومين أو ثلاثة ايام وعدت المتتبعين بتدوينة خاصة عن API الخاص بموقع تويتر, لكن ظروف عدم قدرتي على إستعمال دالة curl على السيرفر الذي اشتغل عليه اخر موعد صدور تلك التدوينة. لكن مادمنا نتحدث عن API سأقدم اليوم درس خاص عن إستعمال موقع تصغير الروابط وهو : bit.ly الذي إشتهر كثيرا خصوصا بعد الدعم عن طريق الإستعمال الذي شمله من طرف تويتر.

تعريف مبسط عن API :
هي تصغير للجملة التالية : Application Programming Interface هذه الخدمة تتيح للمبرمجين أو مطوري الويب أو التطبيقات إستخراج معلومات من مواقع أو تطبيقات بعد معالجتها من طرف الموقع الأصلي او التطبيق الأصلي المقدم للخدمة. مثلا يمكنك الكتابة في تويتر من موقعك الشخصي أو الكتابة في تويتر بإستعمال برنامج سطح مكتب بدون الدخول للموقع.

المهم نبدأ الدرس عن نبذة بسيطة عن هدفي من وراء هذا الدرس :
مثال حي لدرس : http://www.aimadj.co.cc/bitly-arab

أن نخرج بنتيجة وهي صفحة لتصغير ومعرفة إحصائيات وايضا معرفة اصل الروابط المصغرة وصورة عن الموقع الذي صغر رابطه بإستعمال هذا الموقع وكل هذا بدون الدخول لصفحتك على الموقع اي يمكنك دمج التطبيق مع تطبيقات ويب تستطيع الإستفادة منها.



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

-بعد الدخول لحسابك الشخصي ستجد في اليمين بلوك عنوانه API key هذا هو مفتاح الدخول للإستفادة من خدمات الموقع من خارجه.

تصغير الروابط :

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

سأشرح الكود رغم أنه بسيط :
1- سأستعين بمكتبة Jquery لتمرير الأوامر بإستعمال Ajax
2-فورم بسيط لإدخال الرابط المراد تصغيره.
3-كلاس loader الذي سيتغل بعد الضغط على "نفد التصغير".
4-كلاس response الذي سيظهر لنا النتيجة.

الأن إرسال إستفسار وايضا إستقبال النتائج بال PHP :



هنا يجب التأكيد على أن الدوال المستخدمة من الضروري توفر PHP 5 في السيرفر لكي تشتغل
1-نتأكد من وجود الرابط ,ايضا إخلائه من شوائب html و php عن طريق الدالة strip_tags.
2-نمرر الرابط بفيلتر لتأكد من أنه رابط عبر الدالة filter_var . هذه الدالة تشتغل على PHP 5 .
3-نعيد تشكيل الرابط لنغير القيم التي ستعمل لنا مشاكل فيما بعد لقيمتها بعد التكويد بإستعمال الدالة : urlencode .
4-الأن نضيف معلومات الدخول لموقع bit.ly : إسم المستخدم ورمز API key .
5-في هذا التطبيق سنسترج المعلومات من موقع bit.ly بفورم Json وهناك طريقة أخرى أيضا لإسترجاع المعلومات وهي xml .
6-الأن سنستدعي الرابط الذي عن طريقه سنعطي أمر التصغير وسيعيد لنا هو الرابط بعد التصغير وهذا الرابط يشمل المعلومات التالية :
-shorten اي أننا نريد التصغير.
-version من الضروري ذكرها للمرور.
-login و key معلومات الدخول من الضروري ذكرها.
-longUrl الرابط لكن يجب أن يكون نظيفا.
-format الفورم التي نستقبل بها المعلومات الناتجة عن العملية.
وايضا قمنا بإستعمال دالة file_get_contents لمعلفة محتوى الملف الناتج.

7-سنقوم الأن بتحليل الملف عن طريق الدالة json_decode المستحدثة في PHP 5 والتي تقوم بتقسيم نتائج json لمصفوفة يمكننا الإستفادة منها لمعرفة النتائج المسترجعة بفورم json.

8-سنقوم الأن بتحليل المصفوفة الناتجة وسنستخرج منها قيمة shortUrl التي تحتوي على الرابط المصغر.

والأن إضافة ajax التي ستمكننا من مشاهدة النتيجة في نفس صفحة الكود ومن دون تغير الصفحة :


1-نعطي قيمة لمتغير الذي سيتوافق مع صورة التحميل وهو ajax_loader .
2-نخفي كل من الكلاس response و loader لأن ظهورهما سيكون فيما بعد طلب التصغير.
3-بعد الضغط على الأيقونة التي تحمل إسم أيدي : submit_short ستقوم العمليات التلية وهي :
-إظهار صورة التحميل مكان الكلاس loader الأول والمشار له هنا بالرقم 0 لأن الصفحة تحتوي على كلاس loader اكثر من مرة.
-إستدعاء صفحة shorten.php التي تحمل الكود الذي سيقوم بعملية تصغير الرابط.
-وسنأتي في اخر العملية لإظهار النتائج في كلاس response الأول ايضا.

من يريد شرحا أكثر للكود فأنا موجود لشرحه أكثر
المهم يجب تحميل الصورة التالية ووضعها في نفس مجلد لكي تظهر في مكان تحميل النتيجة :