مدونة الويب 2.0

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

نصائح PHP الجزء الأول

26, يناير 2009 التصنيف: برمجة

بسم الله الرحمن الرحيم،

سلسلة من النصائح لمبرمجي PHP لا أعلم كم جزء ولكن أعدكم بأنها ستكون نصائح مفيدة!

1- طباعة مصفوفة للتحقق من عناصرها عن طريق تعليمة print_r:

$pages = array('Homepage', 'About', 'Contact');

//dump array
print("<pre>");
print_r($pages);
print("</pre>\n");

2- استعمل علامة الاقتباس المفردة ‘ بدل المزدوجة ” فهي اسرع، الفرق بينهم أن المفردة لاتعالج المتحولات التي تضعها بداخلها بينما المزدوجة تقوم بذلك، استخدام لايقتصر على الطباعة بل تستخدم مع المصفوفات والكائنات، شاهد المثال لتتضح الصورة:

$name = 'PHP Tips';
echo 'Post name: $name'; // shows: 'Post name: $name' will not handle variables
echo '<br/>';
echo 'Post name: ' . $name; // shows: 'Post name: PHP Tips' you have to write $name outside single quotes domain
echo '<br/>';
echo "Post name: $name"; // shows: 'Post name: PHP Tips' will handle variables inside double quotes domain, but it's slower

3- عند طباعة عنصر من مصفوفة عن طريق رقم موقعه، ضع الرقم داخل علامة اقتباس فهي أسرع:

$pages = array('Homepage', 'About', 'Contact');

echo $pages['0']; // Faster
echo '<br/>';
echo $pages[0]; // Slower

4- هل تعلم أن سكربتات PHP يتم ترجمتهم في كل مرة يطلب مستخدم الصفحة؟ إذا كنت تعاني من مشاكل الأداء فاستخدم الكاش لتسريع الموقع بنسبة بين 30% إلى 100% فعند استعمال الكاش يتم حفظ نسخ مترجمة من الصفحات وتقديمها للزوار.
5- استعمال unset لتدمير المتحولات بعد استعمالها أمر جيد لذاكرة المخدم خاصة المتحولات الكبيرة مثل المصفوفات والكائنات.
6- أغلق الاتصال مع قاعدة البيانات بعد الانتهاء من جلب المعلومات، وأيضاً اغلق socket مع الملفات بعد الانتهاء من القراءة أو الكتابة عليهم.

شارك هذه التدوينة:
إضافة 'نصائح 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 الجزء الثاني
    • محررات الـ PHP المتقدمة

21 تعليق في “نصائح PHP الجزء الأول”

  1. عبدالملك الثاري: 26, يناير 2009 في 8:57 م

    نصائح رائعة أعجبتني كثيراً واستفدت من بعضها

    شكراً لك أيها مبدع خالد ومتابع باقي الأجزاء :)


  2. خالد: 26, يناير 2009 في 9:10 م

    ياهلا بك أستاذنا عبد الملك


  3. خير الدن: 26, يناير 2009 في 11:19 م

    شكرا على النصائح
    لدي سؤال ماذا تقصد بالكاش في النصيحة 4


  4. خالد: 26, يناير 2009 في 11:29 م

    الكاش تقنية لحفظ الصفحات بشكل مؤقت (مثلاً أسبوع) تستعمل في المواقع التي لديها ضغط زوار كبير لتخفيف الحمل على المخدم، فصفحات الكاش تكون مترجمة ولاتحتاج سوى عرضها للمستخدم أي لاتحتاج لترجمة الأكواد فيها مثل الصفحات العادية (بدون كاش).

    للمزيد إقرأ هذه المقالة


  5. عمر الدليمي: 27, يناير 2009 في 12:05 ص

    بوركت يا أخي :)
    نصائح رائعة لكن ما لم أفهمه حقاً هو لم:

    عند طباعة عنصر من مصفوفة عن طريق رقم موقعه، ضع الرقم داخل علامة اقتباس فهي

    أتوقع أن التفسير الوحيد لها أن php ليس لها مصفوفات بمفاتيح رقمية! أليس كذلك؟ بل كلها نصية بشكل أو بآخر.


  6. الصادق: 27, يناير 2009 في 12:11 ص

    “6- أغلق الاتصال مع قاعدة البيانات بعد الانتهاء من جلب المعلومات، وأيضاً اغلق socket مع الملفات بعد الانتهاء من القراءة أو الكتابة عليهم.”

    لماذا؟

    socket أعتقد أنها تترجم مقبس


  7. خالد: 27, يناير 2009 في 12:23 ص

    @عمر: بشكل افتراضي إذا لم تزود المصفوفة باسم للموقع ستكون بشكل رقمي

    @الصادق: نعم، المهم إغلاق الاتصال بتعليمة mysql_close


  8. عبد الهادي: 27, يناير 2009 في 12:56 ص

    السلام عليكم ورحمة الله وبركاته..
    فكرة جيدة منك أخي الكريم خالد بأن تتحفنا بين الفينة والأخرى ببعض من دررك الثمينة ^_^
    جزاك الله عنا كل خير أخي..
    مني لك أرق تحية..


  9. خالد: 27, يناير 2009 في 1:06 ص

    أهلاً بأستاذنا، شكراً لك على الكلمات الطيبة


  10. Adil: 27, يناير 2009 في 4:43 ص

    موضوع جميل :)
    شكرا على المعلومات.
    هناك كذالك var_dump تقوم عمل print_r مع اعطاء نوعية كل متغير او كائن داخل المصفوفة و لمعرفة الكود المستعمل الذي ثم به انشاء متغير ما نستعمل var_export
    دمتم بود والسلام.


  11. خالد: 27, يناير 2009 في 5:02 ص

    بارك الله فيك على المعلومات القيمة


  12. نبيل: 27, يناير 2009 في 6:11 ص

    شكراً لك على هذه النصائح
    سأكون من المتابعين :)


  13. خالد: 27, يناير 2009 في 6:38 ص

    يا أهلاً بك، أرى أنك أنشأت نظامك التدويني الخاص، شيء جميل


  14. عمرو فهمي: 27, يناير 2009 في 12:11 م

    السلام عليكم

    أولا لمن يهتم بمعرفة تفاصيل أكثر حول الكاش فهذا مقال جميل بالأمثلة

    درس : نظام تخزين المخرجات ( Cache Output ) بالشرح المفصل والامثلة العملية

    ثانيا أخي خالد لك عندي كام سؤال بخصوص تحسين معدل الأداء، تراودني كلما كتبت كود جديد

    1-هل يجب استخدام unset داخل الدوال؟ بمعنى ألا يتم التخلص من المتغيرات المستخدمة داخل الدوال بمجرد الخروج من الدالة؟

    2-عادة ما تحتوي الصفحة الواحدة على أكثر من استعلام SQL فهل انهي الاتصال بقاعدة البيانات بعد كل استعلام وأعيد الاتصال من جديد مع كل استعلام تالي؟
    أم أكتفى بانهاء الاتصال مرة واحدة فى نهايةالصفحة؟


  15. خالد: 27, يناير 2009 في 12:19 م

    وعليكم السلام ورحمة الله وبركاته
    ماشاء الله عليك مقالة ممتعة ومفيدة جداً

    1- مفيدة في التوابع الكبيرة ولكن ليس لدرجة كبيرة بسبب وجود garbage collector في لغة PHP
    2- الأفضل عندها وضع كود الاتصال في صنف (كلاس) لوحده والتعامل معه بدل كتابته عدة مرات ونعم اغلق الاتصال في كل مرة.


  16. حازم خالد: 27, يناير 2009 في 5:45 م

    السلام عليكم

    جميل الفكرة … تابع المزيد

    عمرو فهمي : النسبة لعمل unset لكل متغير داخل الدالة فأكيد لا ! لأن الدوالت تمسح متغيرتها بمجرد انهاء وظائفها

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

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

    أعتقد كائن لقاعد البيانات ويتم التعالمل معه وعمل descractor يتم فيه أغلاق الأتصال أفضل بكثير للتعامل معه


  17. خالد: 27, يناير 2009 في 6:03 م

    إذا كان اتصالك بقاعدة البيانات non-persistent فلايهم إغلاق الاتصال أما إذا كان persistent فمن الضروري إغلاقه منعاً للمشاكل.


  18. خير الدن: 27, يناير 2009 في 6:35 م

    الله يجازيكم خير على الإفادة


  19. عمرو فهمي: 27, يناير 2009 في 7:33 م

    حاااااااااااااازم.. كيفك يا راجل
    وحشني كتير يا أخي
    فى انتظار لقائك فى ال ICT باذن الله
    وشكرا على التوضيح و الافادة :)


  20. نصائح php الجزء الثاني | مدونة الويب 2.0: 29, يناير 2009 في 3:16 ص

    [...] هل قرأت الجزء الأول من نصائح php؟ 7- ضع حد الحلقات التكرارية (for) قبل الدخول بالحلقة ولاتحسبها داخلها، لاحظ الفرق بين الحلقة الأولى والثانية: [...]


  21. محمد جبلي: 8, مارس 2010 في 12:02 ص

    أنت رجل رائع =)

    شكراً لك


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

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

  • الأكثر قراءة
  • الأحدث
  • الأرشيف
  • تعلم الكيك وتطوير المواقع بالبيت
  • تنظيم الوقت البرمجي
  • أفكار ومواقع ويب 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
    • أو راسلني فوراً