OC Coding Style
The following rules apply to all developers who contribute source code to the Opencaching.de project.
General rules
All source code files must
- not contain TAB characters,
- use 4-char indenting columns,
- be UTF-8 encoded without byte order marks,
- use only LF as line ends, with the current exception of email templates, which have RFC-822 CR/LF line ends.
There are some tools in the local/devel directory for verifying and fixing these things.
PHP
All self-written or directly changed code must fully comply to the PSR-1 / PSR-2 standard, with these exceptions:
- When referencing identifiers (e.g. class and function names) that are defined in non-PSR-2-compliant source code files, they need not be PSR-2 compliant.
- When writing small standalone scripts like those in the 'local' and 'util' directories, they need not to comply to the PSR-1 "Side Effects" rule.
Only <?php
and <?=
open tags must be used. <?
(short open tags) must not be used.
SQL
All SQL language identifiers are written in CAPS, and all user-defined identifiers in `backticks`. Inner joins are coded as JOIN and not as WHERE condition. All variable values inserted into SQLs must be escaped, either via &1 &2 &3 placeholders or via function sql_escape()
.
SQL statements embedded in PHP code are generally formatted like this:
$result = sql( "SELECT `cache_id`, `wp_oc` FROM `caches` JOIN `cache_logs` ON `cache_logs`.`id` = `caches`.`id` WHERE `caches`.`staatus` IN ('&1', '&2')" $status1, $status2 );