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
);