مدونة الويب 2.0

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

نصائح php الجزء الثاني

January 29, 2009 - الخميس 03 صفر 1430 التصنيف: برمجة

هل قرأت الجزء الأول من نصائح php؟

7- ضع حد الحلقات التكرارية (for) قبل الدخول بالحلقة ولاتحسبها داخلها، لاحظ الفرق بين الحلقة الأولى والثانية:

$pages = array('Homepage', 'about', 'contact');

	// Slow loop, each time will calculate the count of $pages
	for ($i = 0; $i < count($pages); $i++) {
		echo $pages[$i];
		echo '<br/>';
	}

	// Faster loop
	$pages_size = count($pages);
	for ($i = 0; $i < $pages_size; $i++) {
		echo $pages[$i];
		echo '<br/>';
	}

8- باستخدام الرمز @ قبل استدعاء التوابع أو الملفات تستطيع التخلص من الكثير من الأخطاء (أزل @ لترى أننا نتجاوز عناصر المصفوفة عند الطباعة (<=) وباستخدام @ نخفي رسالة التحذير):

$pages = array('Homepage', 'about', 'contact');
	@printArray($pages);

	function printArray($array) {
		$array_count = count($array);
		for ($i = 0; $i <= $array_count; $i++) {
			echo $array[$i];
			echo '<br/>';
		}
	}

9- لاتستخدم البرمجة الكائناتية دوماً، أحياناً تكون بنية بعض الأشياء بسيطة جداً فلاتتعب نفسك بوضعهم في صنف لأن الأصناف تكلف وقتاً ومعالجة أكثر.
10- استخدم التوابع بحكمة فلاتضع كل شيء في تابع بل ضع الأجزاء المكررة (التي تريد إعادة استخدامها) في توابع.

شارك هذه التدوينة:
إضافة 'نصائح 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 القياسية
    • أوراق المساعدة
    • الميزات المرتقبة لـ PHP6

24 تعليق في “نصائح php الجزء الثاني”

  1. عبدالملك الثاري: January 29, 2009 - الخميس 03 صفر 1430 في 5:45 ص

    واصل فنحن متابعين إبداعك أخوي خالد , فعلاً نصائحه بكل صراحه عظيمه ومفيده جداً بارك الله فيك

    واستفدت من كل تلميحه أضفتها

    اطيب تحياتي لك


  2. Adil: January 29, 2009 - الخميس 03 صفر 1430 في 6:33 ص

    شكرا اخي خالد على النصائح جعلها الله في ميزان حسناتك
    عندي سؤال مارأيك في استعمال foreach او while بدل for ?
    شكرا


  3. خالد: January 29, 2009 - الخميس 03 صفر 1430 في 11:07 ص

    @عبد الملك: يامرحباً لك.
    @عادل: استخدام foreach مريح جداً في التعامل مع المصفوفات والأصناف.


  4. عبد الهادي: January 29, 2009 - الخميس 03 صفر 1430 في 11:08 ص

    السلام عليكم ورحمة الله تعالى وبركاته..
    بارك الله فيك أخي الحبيب خالد..
    بصراحة بودي لو أعرف كل التلميحات المهمة عن لغة PHP بحكم أنني أعتبر نفسي مبتدئا فيها، كما أتمنى لو يكون هناك تطبيق عملي في بناء أهم الأمور التي يحتاجها مطور الويب بلغة php (يبدو أنني أكثرت من الأماني ^_^)
    كما لا تنس يا رجل أن تخبرنا بين الحين والحين عن بعض من أسرار الدروبال ^_^
    (ثرثرت كثيرا حتى أترك لك تذكيرا في هذا التعليق، فإذا لم تعرف يوما ما تدون ارجع إلى ثرثرتي هذه ^_^)
    جزاك الله عنا كل خير أخي..
    موفق ومني لك أرق تحية..


  5. خالد: January 29, 2009 - الخميس 03 صفر 1430 في 11:42 ص

    وعليكم السلام ورحمة الله وبركاته
    يوجد تلميحات كثيرة سأحاول المرور على معظمها بهذه النصائح المتفرقة، الدروبال لم يحن وقتها بعد فأمهلني بعض الوقت ;)
    ولكن ماذا تقصد بالضبط بتطبيق عملي؟
    هههه ولاكتير ولاحاجة أسعدني جداً تعليقك


  6. نبيل: January 29, 2009 - الخميس 03 صفر 1430 في 3:37 م

    من أكبر عيوب البرمجة كائنية التوجه في php هو البطء في التنفيذ وأعتقد بأن هذه المشكلة ستختفي إما بسبب التطوير في لغة PHP أو بسبب التطور في السيرفرات وسرعات الإتصال نفسها.

    كم حزنت عندما قرأت هذه المعلومة في أحد الكتب.

    استفدت من النصيحة رقم 7

    شكراً لك
    تحياتي، نبيل


  7. خالد: January 29, 2009 - الخميس 03 صفر 1430 في 3:54 م

    صحيح ولهذا السبب يجري تطوير هذه البنية بشكل كبير حالياً


  8. عمر الدليمي: January 29, 2009 - الخميس 03 صفر 1430 في 10:27 م

    شكراً خالد ^^،
    نحتاج دوماً لمثل هذه النصائح!
    9، 10 .. كلامك فيهم خطير ^^. يعني أتوقع هذا ينفع بعد إقتناع الناس بضرورة إستخدام functions, oop عند الحاجة :) ، هل ترى أن المبرمجين الأحبة إقتنعوا بضرورتها وعمليتها؟؟

    // Faster loop

    مع نظافة الكود المكتوب هنا لكن توجد طريقة أخرى لكتابته وهي:


    for ($i = 0, $pages_size = count($pages); $i < $pages_size; $i++) {
    echo $pages[$i];
    echo '';
    }

    “من كتاب php الرسمي :) “


  9. خالد: January 29, 2009 - الخميس 03 صفر 1430 في 10:44 م

    أول مرة اسمع بها! شكراً لك ولكن تبقى نفس الشيء واختلف مكان إسناد المتغير فقط. لكن مفيدة :)


  10. PHP Reference: January 30, 2009 - الجمعة 04 صفر 1430 في 8:58 م

    البرمجة كائنية التوجه في PHP 5 أصبحت سريعه بفضل التطويرات العديده في محرك زند
    وشكرأ أستاذ خالد


  11. خالد: January 30, 2009 - الجمعة 04 صفر 1430 في 9:17 م

    بارك الله فيك مدونة قيمة وسأتباعها عن كثب بإذن الله


  12. Adil: January 31, 2009 - السبت 05 صفر 1430 في 3:26 ص

    شكرا استاذ خالد لاتحرمنا من جديدك.


  13. محمد العاني: February 2, 2009 - الاثنين 07 صفر 1430 في 11:42 م

    بارك الله فيك اخي خالد

    ولكني اخالفك في النقطة التاسعة :)

    صحيح اخي قد تكون العبارات البرمجية في بعض الاحيان جدا تافه ولكنك اذا اردنا ان نكون مبرمجين محترفين فيجب ان نلتزم بمعاير كائنية التوجه وان نجعل من كل العبارات البرمجية التي تؤدي امر وان كانت صغير ضمن كائن مختص تنطوي تحته ليكون الكود نظيف ومؤسساتي .
    اما بالنسبة لكونها تستهلك وقت نعم فانها تستهلك وقت ولكنه غير مهم ازاء الترتيب فلغة الجافا اذا قرات عنها يوما او قلبت منهاجها فانها لغة لاتقبل غير الفئات ولاتستطيع انجاز اي برنامج وان صغر حجمه الا ضمن فئة حتى ولو على حساب التاخير البسيط المعروف على برامج لغة الجافا ولكنها اصبحت من اللغات الاولى في عالم الكائنية واصبحت الخيار الامثل لكثير من شركات البرمجة .

    ووما يجول في ذاكرتي الان هو اثناء تحضيري لامتحان زند الخاص بالبي اتش بي كان هناك سؤال يقول ما المهم في تطبيقك الاداء ام امكانية الصيانة – والمقصود بها ترتيب الكود بشكل جيد بحيث يسهل تتبع الاخطاء – فكانت اجابتي لخبرتي في عالم البرمجة هي امكانية الصيانة وكانت هي الاجابة الصحيححة !
    ارايت اخي فيجب اولا اتباع اساليب البرمجة الصحيحة وضمنها يجب ان نفكر في الاداء


  14. خالد: February 3, 2009 - الثلاثاء 08 صفر 1430 في 12:17 ص

    أولاً ساءني ماسمعت عن أنك تقدمت لشهادة الزيند، لن أتقدم لها طالما حييت أبداً والأسباب معروفة. (من ترك شيئاً لله عوضه الله خيراً منه).

    لم أقل كل شيء ولكن أحياناً يكون هناك بنية صغيرة ببنائها داخل صنف ستعقد الأمور لماذا؟ لأنها عبارة عن عدة أسطر لاتتجاوز العشرة فهي لن تقدم ولن تؤخر بترتيب ونظافة الكود.


  15. عبدالعزيز العريج: February 3, 2009 - الثلاثاء 08 صفر 1430 في 4:06 ص

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

    والله روعة سجلني من اليوم كضيف دائم ;)


  16. خالد: February 3, 2009 - الثلاثاء 08 صفر 1430 في 4:12 ص

    أهلاً بالأستاذ الكبير وخبير php عبد العزيز العريج.

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

    حللت أهلاً ونزلت سهلاً وشرف كبير لي أن تزور هذه المدونة المتواضعة.


  17. عبد الهادي: February 5, 2009 - الخميس 10 صفر 1430 في 9:30 م

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


  18. خالد: February 6, 2009 - الجمعة 11 صفر 1430 في 5:42 ص

    إن شاء الله سأحاول جهدي


  19. ahmed-araby: February 19, 2009 - الخميس 24 صفر 1430 في 6:03 م

    كعادتي دائما سوف أكلم ولكن متأخرا لكن التعليق يستحق نوعا ما
    البرمجة الكائنية مع PHP5 ليس بطيئة وأيضا بالنظر الى عدد زوار التطبيقات فإن البرمجة الكائنية لن تؤثر كثيرا فى اداء التطبيق بشكل ملحوظ واعتقد انها سوف تظهر مع الاحمال المرتفعه جدا جدا وهذا نادرا مايتواجد
    الجزء الثانى : استخدم @ او الاسم الرسمى لها ( The Error Controller ) غير محبب على الاطلاق , اولا لأنك فى بعض الاوقات سوف تحتاج الى عمل trace او تتبع للخطأ وقد يحدث ان تكون احد تلك @ فى الطريق ,ساعتها سوف تشد فى شعرك كما يقال ولكنى ارى ان الطريقة المثلى هى استخدام error_reporting بحيث تظهر كل الاخطاء (او تلغى Notice كما يفعل الكثيرون ) وتلغى ظهور الاخطاء نهائيا فى اماكن استخدام التطبيق النهائى productive
    اما الباقى فأنا معك 100%


  20. خالد: February 19, 2009 - الخميس 24 صفر 1430 في 6:53 م

    بارك الله فيك كلامك صحيح فأنا لااحبذها أيضاً ولكن ذكرتها من باب العلم بالشيء ولكن استخدام صنف خاص للأخطاء أو إلغاؤهم عن طريق متحول واحد بحيث تفعله عند التطوير وتوقفه عند الانتهاء من الموقع ورفعه.


  21. عبدالمحسن الشراري: March 10, 2009 - الثلاثاء 15 ربيع الأول 1430 في 5:23 ص

    السلام عليكم ورحمة الله وبركاته..

    أشكرك اخي العزيز، خالد، وأشكر جميع المتواجدون هنا…

    معلومات قيّمة، رغم ان معلوماتي في لغة الـPHP لم تتجاوز 5%

    ^_^

    وبما أنني بفضل الله [رسام و شاعر و مصمم] إلا انني لا اريد ان اقف

    عند حدٍ معيّن؟

    وأحاول أن ارتقي بمعلوماتي ومهاراتي وأفكاري الى الافضل…

    ولكن مجال التصميم، اخذ من وقتي الكثير.. لذلك!

    لا أدري هل تعلم لغة البي اتش بي من خلال الانترنت، يفي بالغرض!

    أم أنه لا بد من شروح مباشرة، وتطبيقات ايضاً…

    أتمنى ان اجد التوجيه منكم

    فطموحي أعلى من ذلك بكثير…

    ..

    فائق احترامي وتقديري لكم

    ودمتم بودّ الى الابدّ

    أخوكم: عبدالمحسن الشراري


  22. خالد: March 10, 2009 - الثلاثاء 15 ربيع الأول 1430 في 5:34 ص

    الشرح + التطبيق هو طريق الاحتراف بإذن الله


  23. عمرو مكاوى: December 11, 2009 - الجمعة 25 ذو الحجة 1430 في 12:10 ص

    تحية تقدير لك يا أخ خالد
    هذه أول مره أدخل فيها إلى مدونتك و أقرأ ما بها، و أريد أن أقول لك أننى وجدتها من أفضل المدونات العربية المهتمة بالتقنية، و أنا أكتب لك تعليقى الآن و قد أمضيت أتصفح مواضيعها منذ ما يزيد عن الساعة و النصف الآن, و أنوى أن أتصفحها كلها -إن شاء الله- لما بها من فائدة و منفعة حقيقية.
    و أدعو الله أن تجد الوقت دائما لتكتب فيها و تفيد الآخرين بما تكتبه، و خصوصا أنك تكتب فى أمور متخصصة بشكل واضح و سلس و يوصل المعلومة بسهوله للقارئ، و هى ميزة لا تتوافر لدى الكثيرين.
    أستفدت كثيرا مما قرأته لك حتى الآن، و أدعو لك بالتوفيق فى كل ما ستنوى كتابته مستقبلا، و أعدك بأننى سأكون من زوار مدونتك الدائمين إن شاء الله.
    أمر أخير جاء فى هذه التدوينة و أريد أن أعلق عليه، و هو قولك فى الرد على الأخ محمد العانى: ”ساءني ماسمعت عن أنك تقدمت لشهادة الزيند، لن أتقدم لها طالما حييت أبداً والأسباب معروفة. (من ترك شيئاً لله عوضه الله خيراً منه)”. فهل كنت تفصد بالـ (الأسباب المعروفة) أن مؤسسى شركة زند هما أسرائيليان؟ أم كنت تقصد شيئا آخر؟
    فإذا كنت تقصد لأنهما إسرائيليان كما أستنتجت، فأسمح لى بأن أختلف معك هنا من ناحية المبدأ، لأن العلم ليس له وطن أو جنسية معينة، و لا يجوز أن نرفض علما أو معرفة أو أداة ترقى لمجرد أن القائمين على أمرها من أعدائنا، و إلا لما كنا تعلمنا لغة البى أتش بى من الأساس طالما أن أصحاب شركة زند (الأسرائيليين) هما اللذان أعادا كتابة اللغة بالكامل تقريبا و وضعا المبادئ لشكلها الحالى.
    و فى النهاية لك منى كل التحية و التقدير


  24. خالد: December 11, 2009 - الجمعة 25 ذو الحجة 1430 في 12:43 ص

    شكراً لك ونعم الشركة ليست إسرائيلية فقط بل موجودة وتعمل في إسرائيل بشكل كامل لذلك هي إسرائيلية صرفة، الشيء الآخر المهم أن هذه الشهادة أهميتها قليلة بالنسبة للشركات أمام الخبرة العملية ﻷنها بالنهاية تعلمك المبادىء فقط.


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

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

  • الأكثر قراءة
  • الأحدث
  • الأرشيف
  • تعلم الكيك وتطوير المواقع بالبيت
  • أفضل الأدوات لرفع الملفات
  • تنظيم الوقت البرمجي
  • مقدمة في CakePHP
  • أفكار ومواقع ويب 2 شهيرة
  • لماذا غوغل شريرة!
  • الخطوط العربية
  • هل تريد أن تكسب 1000 دولار؟
  • تصميم قاعدة البيانات
  • مواقع عربية بالدروبال
    1. كتب مطلوبة
    2. إصلاح علة أمنية في دروبال 7.3 و 7.4
    3. حل المشكلة أم الترقيع؟
    4. مراجعة كتاب 50 Tips and Tricks for MongoDB Developers
    5. تعريب الوحدات الإضافية
    6. البرامج العربية
    7. تعريب الدروبال 7 – العد التنازلي للنواة
    8. تعريب الدروبال 7 – اليوم الثالث
    9. تعريب الدروبال 7 – اليوم الثاني
    10. تعريب الدروبال 7 – اليوم اﻷول
    11. تعريب الدروبال 7
    1. يونيو 2011
    2. مايو 2011
    3. أبريل 2011
    4. مارس 2011
    5. فبراير 2011
    6. يناير 2011
    7. ديسمبر 2010
    8. نوفمبر 2010
    9. أكتوبر 2010
    10. أغسطس 2010
    11. مارس 2010
    12. فبراير 2010
    13. يناير 2010
    14. ديسمبر 2009
    15. سبتمبر 2009
    16. أغسطس 2009
    17. يوليو 2009
    18. يونيو 2009
    19. مايو 2009
    20. مارس 2009
    21. فبراير 2009
    22. يناير 2009
    23. ديسمبر 2008
    24. نوفمبر 2008
    25. أكتوبر 2008
    26. سبتمبر 2008
    27. أغسطس 2008
    28. يوليو 2008
    29. يونيو 2008
    • اشترك بآخر الأخبار RSS

      Feeds Counter

      أو

    • أشارك بتعريب دروبال 7

    • أراجع كتب Oreilly

      I review for the O'Reilly Blogger Review Program
    • أفضل هدية تقدمها لي

    • تقنية الطماطم

      I Use the Pomodoro Technique
    • عشرون عام لمشروع اللينكس

      I'll be celebrating 20 years of Linux with
The Linux Foundation!
    • وسوم

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

    حول المدونة

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

    عروض العمل

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

    تواصل معي

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

    Switch to our mobile site