netdur
موضوعك هام فعلاً، وهو موضوع يحتاج إلى قسم مستقل بحد ذاته..
أود أن أضيف على التعليمات الذي ذكرت، ما يلي:
(مقتبسة من مشروع PEAR في PHP.net)
أولاً: المسافات البادئة (الفراغات)
لا بد من مراعاة استخدام نظام معين للمسافات البادئة، بحيث يظهر العمل منظماً وأسهل للتتبع، وخصوصاً مع قطاعات الكود المختلفة.. وأقصد بالمسافات البادئة هي 4 فراغات (مسافة) وليس باستخدام زر الجدولة، والفراغات يجب أن تستخدم قبل بداية كل سطر داخل مقطع كود، مع زيادة مقدار الفراغ عند بدء مقطع فرعي.. كما في المثال التالي:
كود PHP:
<?php
echo "لا داعي لعمل مسافة بادئة في سطور البرنامج الأساسية";
echo "كما هو الحال هنا";
if ($control_structure) {
echo "نبدأ باستخدام المسافة البادئة مع بداية مقطع فرعي";
echo "if مثل عبارة ";
for($i = 0; $i<10; $i++) {
echo "كما يجب أن نزيد المسافة البادئة مع كل مقطع فرعي ";
echo "ويعني ذلك الأن وجود 8 فراغات في هذا السطر";
while ($loop) {
echo "وهنا أيضاً";
echo "لاحظوا تدرج الزيادة في المسافات";
echo "فهو يجعل من السهل تعقب الحلقات و المقاطع";
}
}
}
?>
تنظيم هيكلة عبارات التحكم
لا بد من وضع تنظيم معين عند استخدام عبارات التحكم IF و WHILE و SWITCH وغيرها، وهذا التنظيم يبدأ أولاً بوضع مسافة ما بين عبارة التحكم الرئيسية وما بين أقواس الشرط (المعاملات)، وكذلك أيضاً محاولة استخدام الأقواس { } دائماً، حتى عندما يكون استخدامها اختيارياً (على عكس النقطة 3 من كلام netdur)
كما في المثال:
كود PHP:
if (($condition1) || ($condition2)) {
someaction;
} else {
someaction;
}
while ($expression) {
someaciton;
}
استدعاء الدوال
كما ذكر netdur في النقطة رقم 4، فإنه عند استدعاء الدوال لا بد من استخدام المسافات كما هو الحال أثناء الكتابة، حيث يجب استخدام مسافة بعد كل فاصلة داخل معاملات الدالة، كما يجب أن يكون اسم الدالة ملاصقاً للقوس الخاص بها كما في المثال:
كود PHP:
// هذا هو الاسلوب الصحيح
$x = somefunction($parm1, $parm2, $parm3);
// وليس مثل هذا
$x=$somefunction ($parm1,$parm2 , $parm3 );
تعريف الدوال
عند تعريف دالة جديدة، يجب أولاً أن يتم تحديد اسم مناسب (يجب أن يبدأ بحرف صغير) وتحديد المعاملات (مدخلات الدالة) مع مراعاة وضع ذوات القيمة الافتراضية آخراً، كما يجب أن تستخدم return لإعادة قيمة ذات مدلول مناسب حتى وإن لم يكن ذلك ضرورياً:
كود PHP:
function newFunction($parm1, $parm2, $defparm = 'default')
{
if ($some_condition) {
someaction;
return true;
}
return false;
}
الملاحظات التوضيحية
إضافة إلى النقطة رقم 1 من كلام netdur، يفضل دائماً استخدام الملاحظات التوضيحية قبل كل برنامج، وقبل كل مقطع، وربما أيضاً قبل كل أمر إن أمكن، كما يمكن استخدام كلاً من // و */ مع محاولة عدم استخدام #
التضمين (الإدراج الضمني)
إذا كنت ستقوم بتضمين ملف تحتاج لوجوده مرة واحدة فقط (كملف الإعدادات مثلاً) حاول مراعاة استخدام العبارة include_once بدلاً من include (كذلك الحال مع require)
بدء PHP بالاسلوب القياسي
عند بدء استخدام كود PHP لا بد من استعمال الاسلوب القياسي <? .. php?> بدلاً من الاسلوب المختصر <? .. ?>
اسلوب التسمية
عندما تحتاج إلى استخدام اسم جديد (اسم متغير، اسم دالة) يجب أن تراعي استخدام أسماء تصف الهدف منها بشكل واضح والابتعاد عن الترميز قدر الإمكان، مع مراعاة التالي:
1- تسمية المتغيرات يجب أن يتم فيها استخدام الحروف الصغيرة دائماً
2- تسمية الدوال يجب أن تكون كالتالي:
packagename_word1Word2SYMBOLES
حيث أن packagename هو اسم البرنامج إن كان حزمة مستقلة (وهذا الجزء اختياري وليس ضرورياً إلا عندما تشك في أن هناك اسماء دوال مشابهة في مكتبات أو برامج سيتم ربطها ببرنامجك)
و اسم الدالة يجب أن تبدء بحروف صغيرة مع البدء بحرف كبير مع كل كلمة واستخدام حروف كبيرة عند ذكر رموز كما في الأمثلة التالية:
eznew_parseScope
arabicDate
readAndParseHTML
3- عند تسمية التصانيف (الأنواع Classes) يجب أن يبدأ الاسم بحرف كبير، ويفضل الفصل بين كلمة واخرى برمز _ كما في الأمثلة التالية:
SmarTemplates
HTML_Parser
HTML_Tree_Generator
4- داخل تعريف الصنف Class يفضل أن تبدأ الدوال الخاصة (غير العمومية) برمز _
5- الثوابت، يجب أن تكون كاملة بالحروف الكبيرة مع استخدام _ للفصل بين الكلمات والبدء باسم الحزمة (البرنامج) إن أمكن
6- إذا كنت ستعرف متغيرات عمومية، يجب أن تبدأ برمز _ ثم اسم الحزمة أو البرنامج ثم رمز _ مرة أخرى، كم في الأمثلة التالية:
كود PHP:
$_SmarTemplates_connection
$_ezNews_config_file