OC Coding Style: Unterschied zwischen den Versionen

Aus Opencaching-Wiki
Zur Navigation springen Zur Suche springen
(started new style guide)
Zeile 17: Zeile 17:
  
 
Only <code><?php</code> and <code><?=</code> open tags must be used. <code><?</code> (short open tags) must not be used.
 
Only <code><?php</code> and <code><?=</code> open tags must be used. <code><?</code> (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 <code>sql_escape()</code>.
 +
 +
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
 +
    );

Version vom 19. Mai 2016, 15:56 Uhr

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