مدونة الويب 2.0

  • الرئيسية
  • تعريف بالمدونة
  • المصادر
  • تواصل معي
  • أخبار المدونة
  • أفكار
  • استبيان
  • برمجة
  • تصميم
  • تطوير
  • كتب
  • مدونات عربية
  • مهمات
  • مواقع

مكتبة PHP القياسية

28, نوفمبر 2008 التصنيف: برمجة

SPL أو مكتبة PHP القياسية، عبارة عن مكتبة برمجية (عدة أصناف وتوابع) لحل المشاكل الأكثر شيوعاً وتقديم بنى معطيات (Data Types)، استخدام هذه المكتبة خاص بنسخة PHP 5 فما فوق. سنتعرف عليها الآن وعلى المشاكل التي تقدم لها حلولاً وعندها ستدرك أهميتها الشديدة في حياتك البرمجية اليومية.

سنبدأ بذكر المكونات الأساسية للمكتبة:

  • بنى المعطيات: مجموعة غنية ومفيدة من بنى المعطيات وهي القائمة الموصولة من الطرفين (Doubly Linked List)، المكدس (Stack)، الرتل (queueu)، الكتلة (Heap) وبعض البنى المفيدة أيضاً.
  • Iterators (لم أجد لها ترجمة ولكن معناها الدوران بشكل تكراري داخل مصفوفة ما أو حلقة للحصول على معلومات): يحتوي على الدوران داخل مصفوفة، داخل مجلد، وملف XML.
  • الاستثناءات (Exceptions):مهم جداً للعمل الاحترافي. التقاط الاستثناء باختصار هو إعادة توجيه التطبيق عند حدوث خطأ، فبدلاً من أن يتصرف التطبيق بشكل عشوائي وغير مفهوم تقوم أنت بتحديد ماذا سيفعل لو حدث هذا الخطأ، بأن تعرض رسالة لهذا الخطأ مثلاً.
  • معلومات الملفات: أكثر من مهمة في التعامل مع الملفات، مثلاً لجلب تاريخ آخر وصول للملف، اسم الملف، اسم منشىء الملف، مسار الملف، حجم الملف، والكثير من هذه التوابع المفيدة.

مكتبة SPL مكتبة مفيدة ومهمة جداً، لاتكتفي فقط بهذه التدوينة أو بمعرفة هذه الملعومات بل عليك أن تتعلمها وتستخدمها فهذه المكتبة يستخدمها محترفوا PHP، وللمزيد عنها هذه مجموعة روابط:

موقع SPL الرسمي

مقدمة غنية جداً عن SPL

مقدمة عن SPL ArrayAccess

أيضاً شرح كامل عنها

مقدمة عن SPL DirectoryIterator

شارك هذه التدوينة:
إضافة 'مكتبة PHP القياسية' إلى Del.icio.usإضافة 'مكتبة PHP القياسية' إلى diggإضافة 'مكتبة PHP القياسية' إلى Technoratiإضافة 'مكتبة PHP القياسية' إلى Stumble Uponإضافة 'مكتبة PHP القياسية' إلى Google Bookmarksإضافة 'مكتبة PHP القياسية' إلى FaceBookإضافة 'مكتبة PHP القياسية' إلى MySpaceإضافة 'مكتبة PHP القياسية' إلى Twitterإضافة 'مكتبة PHP القياسية' إلى FriendFeed
الوسوم: php, تطوير, تكتيك, نصائح
أرسل هذه التدوينة لصديق أرسل هذه التدوينة لصديق
طباعة هذه التدوينة طباعة هذه التدوينة

    إقرأ أيضاً:

    • تنقيح الكود باستخدام PDT + Xdebug
    • نصائح php الجزء الثاني
    • عناوين نظيفة بأقل جهد
    • محررات الـ PHP المتقدمة
    • أفضل الأدوات لرفع الملفات

8 تعليق في “مكتبة PHP القياسية”

  1. MEG: 29, نوفمبر 2008 في 4:27 ص

    وش يعني “الرتل” :)

    اتوقع ان “الطابور” انسب كترجمة لـ Queue


  2. خالد: 29, نوفمبر 2008 في 5:48 ص

    الرتل هي كلمة عربية من الترتيب والتنسيق. لاحظت ترجمة “طابور” في عرب آيز ولكن لم أجد لها أصلاً في اللغة العربية!


  3. bassem: 30, نوفمبر 2008 في 8:01 م

    شكرا خالد
    ال php5 اتت بمكتبات كثير و اغلبها لدعم ال oop
    او التوجه نحو البرمجة غرضية التوجه
    فمثلا spl تحوي طرائق method للتعامل مع ال classes و تحميلها
    ايضا ال php5 اتت بمكتبه جميله و هي pdo للتعامل مع قواعد البيانات
    و على حسب علمي انه بال php6 سوف تصبح ال pdo هي الطريقة الوحيدة للتعامل مع قواعد البيانات
    للاسف نظرا للضيق الوقت اغلبنا لا يستخدم هذه المكتبات
    وشكرا


  4. حازم خالد: 1, ديسمبر 2008 في 3:02 ص

    معظم ما بها موجود من قبل في ال php كدوال ومكتبات متفرقة ولكن تجميعهم ككائنات هو أهم ما يمز التعامل مع كل مكتبات php5

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


  5. عبدالملك الثاري: 1, ديسمبر 2008 في 6:41 ص

    بارك الله فيك أخوي خالد , مكتبة رائعة فعلاَ شكراً لك لإفادتنا بها :)


  6. خالد: 1, ديسمبر 2008 في 6:52 ص

    شكراً لكم على المعلومات القيمة.


  7. محمد العاني: 6, ديسمبر 2008 في 8:13 م

    تسلم اخي على هذا الموضوع المهم والله يا اخي هي SPL فعلا مهمة واذا كنت مبرمج مما يحاولون انشاء مكتبات برمجية احترافية فانت بالتاكيد لا تستطيع الاستغناء عنها

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

    اما بالنسبة لل Iterator فهي طريقة للمرور على مجموعة من عدة عناصر عنصر عنصر واليك الامثلة

    $items =array(‘book’,'watch’,'pen’,'paper’)
    foreach ($items as $item) //processing $item;

    $items =array(‘my best friend’=>’book’,'the measure of the life’=>’watch’,'my helper’=>’pen’,'the day’=>’paper’)
    foreach ($items as $item) //processing $item;

    ففي هذين المثالين ستم الانتقال على كل واحد من عناصر المصفوفتين ووضع قيمتها في المتغير $item بغض النظر عن مفتاح كل عنصر فيها وهي بالتالي اداة قوية للمرور iterate على عناصر المصفوفة كلها مو دون الاحتساب الى مفاتيح عناصرها

    والان لنفرض اننا قمنا بعمل class للاتصال بقاعدة البيانات واستخراج قيم اعتمادا على استعلام معين وان القيم ستوضع في مصفوفة وذلك بجعل قيمة ال id لكل قيمة سطر مستخرج من قاعدة البيانات قيمة المفتاح بتلك المصفوفة والقيمة له هي مصفوفة اخرى تحوي معلومات السطر ولكي نعمل ذلك فاننا نحتاج الى جعل class الذي عملنها مرتبط بواجهة ال spl ولفهم ذلك انظر الكود التالي وانظر الى امكانية تلك المكتبة

    $rows=new myDatabaseObject();
    $rows.find(array(‘job’=>’manager’));
    foreach ($rows as $row) echo $row['name'];

    ولك من تحياتي


  8. خالد: 6, ديسمبر 2008 في 8:32 م

    بارك الله فيك على الإضافة القيمة جداً


شاركنا برأيك؟

الرجاء الكتابة باللغة العربية الفصحى، وإذا كنت تريد كتابة سؤال حاول البحث في غوغل أولاً فغالباً ستجد عنده الخبر اليقين.

  • الأكثر قراءة
  • الأحدث
  • الأرشيف
  • تعلم الكيك وتطوير المواقع بالبيت
  • تنظيم الوقت البرمجي
  • أفكار ومواقع ويب 2 شهيرة
  • مقدمة في CakePHP
  • لماذا غوغل شريرة!
  • الخطوط العربية
  • تصميم قاعدة البيانات
  • هل تريد أن تكسب 1000 دولار؟
  • مواقع عربية بالدروبال
  • موقع الجزيرة الجديد
    1. غوغل، جوجل، كوكل أو قوقل!
    2. دروبال تعلمه بالعربي
    3. تحديثات بالجملة
    4. صفحة 404
    5. مدونة الويب 2.0 في 2010
    6. عن غيوم
    7. وحدة Scrollable Content لدروبال
    8. موقع بدون قاعدة بيانات
    9. دول العالم باللغة العربية
    10. ثيم خفيفة للفايرفوكس
    1. أغسطس 2010
    2. مارس 2010
    3. فبراير 2010
    4. يناير 2010
    5. ديسمبر 2009
    6. سبتمبر 2009
    7. أغسطس 2009
    8. يوليو 2009
    9. يونيو 2009
    10. مايو 2009
    11. مارس 2009
    12. فبراير 2009
    13. يناير 2009
    14. ديسمبر 2008
    15. نوفمبر 2008
    16. أكتوبر 2008
    17. سبتمبر 2008
    18. أغسطس 2008
    19. يوليو 2008
    20. يونيو 2008
    • اشترك بآخر الأخبار RSS

      Feeds Counter

      أو

    • الاستبيان

      هل طورت أو ساعدت بتطوير مشروع مفتوح المصدر؟

      مشاهدة النتيجة

      Loading ... Loading ...
    • أوسمة

      Ajax css IDE jQuery php SEO TinyMCE أخبار المدونة أذكار أطر العمل أفكار إدارة المحتوى إدارة محتوى إضافات استبيان الأجاكس الأمان الاختبارات الآلية الكيك برمجة تحديثات تحميل تدوينات رمضان تصميم تطوير تعريب تعلم الكيك وتطوير المواقع بالبيت تكتيك تنظيم الوقت جوائز حديث دروبال دعاية فايرفوكس فرص عمل كتب مسابقات مهمات مواقع نصائح هندسة برمجيات وورد بريس

    حول المدونة

    • جميع الحقوق محفوظة © 2008-2010 مدونة الويب 2.0.
    • يمكنك نقل المحتويات أو اقتباس أي جزء منها ويفضل ذكر المصدر.
    • من الممكن أن تساعدك خريطة الموقع.

    عروض العمل

    • يمكنك أن تناقشني حول عروض العمل للمدونات أو لمواقع الويب 2.0.
    • أيضاً يمكنك استشارتي في وضع التفاصيل لمدونة أو لفكرة مشروع جديد.
    • سيرتي الذاتية على My Linkedin Profile

    تواصل معي

    • خالد الحوراني مطور ويب 2.0
    • دمشق - سوريا
    • تابع أخباري على My Twitter account
    • أو راسلني فوراً