diff options
author | Brett Profitt <brett.profitt@gmail.com> | 2011-08-22 22:10:27 -0700 |
---|---|---|
committer | Brett Profitt <brett.profitt@gmail.com> | 2011-08-22 22:10:27 -0700 |
commit | 5ac7727c36392633dc7d1d4a79ee3c5086bd37b6 (patch) | |
tree | 8698390d4ceb449874723e813a843afced76628f /documentation/coding_standards/php_coding_standards.txt | |
parent | 2b7817baafb400aab1de20ffb8093429cbe0ceab (diff) | |
parent | 0b3e6b6ed28742c29df5d09476b50fbce7f36dbb (diff) | |
download | elgg-5ac7727c36392633dc7d1d4a79ee3c5086bd37b6.tar.gz elgg-5ac7727c36392633dc7d1d4a79ee3c5086bd37b6.tar.bz2 |
Merge pull request #55 from cash/coding-standards
Refs #3657 separate out coding standards. (Still need to redirect requests for CODING.txt)
Diffstat (limited to 'documentation/coding_standards/php_coding_standards.txt')
-rw-r--r-- | documentation/coding_standards/php_coding_standards.txt | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/documentation/coding_standards/php_coding_standards.txt b/documentation/coding_standards/php_coding_standards.txt new file mode 100644 index 000000000..b7adc5dd9 --- /dev/null +++ b/documentation/coding_standards/php_coding_standards.txt @@ -0,0 +1,55 @@ +*** PHP CODING STANDARDS *** + +These are the coding standards for Elgg. All core development and bundled +plugins are required to be in this format. Plugin developers are strongly +encouraged to adopt these standards. + +* Unix line endings. + +* Hard tabs, 4 character tab spacing. + +* No PHP shortcut tags ( <? or <?= or <% ). + +* PHPDoc comments on functions and classes (all methods; declared properties + when appropriate). + +* Mandatory wrapped {}s around any code blocks. + Bad: + if (true) + foreach($arr as $elem) + echo $elem; + + Good: + if (true) { + foreach ($arr as $elem) { + echo $elem; + } + } + +* Name standalone functions using underscore_character(). + +* Name classes using CamelCase() and methods using lowerCamelCase(). + +* Name globals and constants in ALL_CAPS (ACCESS_FRIENDS, $CONFIG). + +* Use underscores / camel case to separate standard English words in + functions, classes, and methods. (get_default_site(), ElggUser->isLoggedIn()). + +* Space functions like_this($required, $optional = TRUE). + +* Space keywords and constructs like this: if (FALSE) { ... }. + +* Correctly use spaces, quotes, and {}s in strings: + Bad (hard to read, misuse of quotes and {}s): + echo 'Hello, '.$name."! How is your {$time_of_day}?"; + + Good: + echo "Hello, $name! How is your $time_of_day?"; + +* Line lengths should be reasonable. If you are writing lines over 100 + characters on a line, please revise the code. + +* Use // or /* */ when commenting. + +* No closing PHP tag (?>) at EOF unless after a heredoc. (Avoids problems with + trailing whitespace. Required after heredoc by PHP.) |