هناك اكثر من طريقة قياسية يمكن كتابة الكود بها وهنا سوف نضع بعض القواعد الاساسية لكتابة كود قياسي وهو ما يسمى (Coding Standards) جميع ما سأذكر قابل للتعديل أيا كان :
- الملف و الإزاحة وطول السطر Indenting and Line Length :
* يجب استخدام الصيغة الطويلة '<?php ?>' في الملف وعدم استخدام '<? ?>' لبدء ونهاية الكود .
* يجب ان تكون الإزاحة أربع فراغات بدون إستخدام زر tab .
* طول السطر يكون بين 70 الى 85 حرف .
* تستخدم صيغة لينكس للسطر الجديد LF و ليس CR او CRLF والتى تعني '\n' وليس '\r' او '\r\n'.
* يجب أن ينتهي الملف بسطر جديد LF بعد التعليمة ?>.
- التسمية :
كود:
examplefilename.php;
$example_variable = true;
definde('EXAMPLE_VARIABLE',true);
example_function();
ExampleClass {
function ExampleFunction();
}
* يجب أن تكون التسمية واضحة وتدل على شيء .
* تسمية الملفات يكون بأحرف صغيره و مسار الملف php .
* تسمية المتغيرات تكون بأحرف صغيره ويفصل بين الكلمات بشرطة سفلية.
* تسمية الثوابت تكون بأحرف كبير ويفصل بين الكلمات بشرطة سفلية.
* تسمية الدوال تكون بأحرف صغيرة ويفصل بين الكلمات بشرطة سفلية.
* تسمية الأصناف بحرف كبير في البداية وبداية كل كلمة من اسم الصنف.
* تسمية الدوال داخل الصنف تكون مثل تسمية الصنف .
* تسمية المتغييرات داخل الصنف مثل تسمية المتغييرات .
- تعليمات التحكم Control Structures :
* تشمل كلن من if, for, while, switch وغيره .
كود PHP:
<?php
if ((condition1) || (condition2)) {
action1;
} elseif ((condition3) && (condition4)) {
action2;
} else {
defaultaction;
}
?>
* التعليمة: تكتب في سطر لوحدها وايضا قوس ويتنهي السطر بعد قوس بداية التعليمة .
* الفراغات: يجب أن يكون هناك فراغ واحد يفصل بين التعليمة وبين محتواها وبين اقواس التعليمة نفسها وايضا بين علامات المقارنة و الشروط.
* علامات المقارنة: يجب ان تستخدم العلامات (&& و ||)بدلا من كلماتها (AND و OR ) .
* الشروط: يوضع كل شرط في قوس لوحده .
- منادات الدوال Function Calls
كود PHP:
<?php
$var = foo($bar, $baz, $quux);
?>
* يجب منادات الدلة بدون فراغ بين أسمها وقوس البداية .
* يجب كتابة معطيات الداله والفصل بينها بفراغ واحد فقط يكون بعد الفاصلة وليس قبلها .
* لا يجب ان يكون هناك فراغ بين اول معطى وبين القوس وكذلك بين اخر محطى وقوس نهاية الداله .
كود PHP:
<?php
$short = foo($bar);
$long_variable = foo($baz);
?>
* إزاحة علامة المساواه عندما يكون هناك متغير يحتوى على اسم قصير واخر اسم طويل حتى تزيد من قابلية قرائة الكود .
- تعريف الأصناف Class Definitions
كود PHP:
<?php
class Foo_Bar
{
//... code goes here
}
?>
* أقواس تعريف الصنف يكون كل قوس في سطر لوحده ويتم ازاحة الكود بداخل الصنف.
- تعريف الدوال Function Definitions
كود PHP:
<?php
function fooFunction($arg1, $arg2 = '')
{
if (condition) {
statement;
}
return $val;
}
?>
* قوس بداية تعريف الداله يكون في السطر الذي يلي تعريف الداله ويتم وضع ازالة للكود داخل الدالة.
* المعطيات التى تكون لها قيم افتراضية تكون في اخر قائمة المعطيات .
* يجب ان تعيد الداله قيمة بالتعليمة return .
- التعليقات Comments
كود PHP:
/*
* More than one lines
* ....
*/
// single Line
* يجب استخدام الشرطة المائلة مع نجمة للكتابة تعليق اكثر من سطر.
* استخدام الشرطة المائلة المكررة لكتابة تعليق من سطر واحد وعدم استخدام الرمز # .
المرجع http://pear.php.net/manual/en/standards.php