OC Coding Style: Unterschied zwischen den Versionen

Zur Navigation springen Zur Suche springen
1.646 Bytes hinzugefügt ,  29. August 2016
fixed some syntax errors at ends of SQL-Strings
(started new style guide)
(fixed some syntax errors at ends of SQL-Strings)
 
(13 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
The following rules apply to all developers who contribute source code to the Opencaching.de project.
The following rules apply to all developers who contribute source code to the Opencaching.de project. This documentation is incomplete / work in progress.


== General rules ==
== General rules ==
Zeile 11: Zeile 11:


== PHP ==
== PHP ==
All self-written or directly changed code must fully comply to the [http://www.php-fig.org/psr/psr-1/ PSR-1] / [http://www.php-fig.org/psr/psr-2/ PSR-2] standard, with these exceptions:
All contributed or modified code sections must fully comply to the [http://www.php-fig.org/psr/psr-2/ PSR-2] standard (which includes [http://www.php-fig.org/psr/psr-1/ PSR-1]), 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 referencing identifiers (e.g. class and function names) that are defined in non-PSR-2-compliant source code files, their names 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.
* When writing standalone scripts like those in the 'local', 'util' and 'util2' directories, they need not to comply to the PSR-1 "Side Effects" rule.


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 ==
See also: [[Entwicklung/Codedoku#Datenbank]]
All SQL language elements are written in CAPS, and all user-defined identifiers in `backticks`. Inner joins are coded as JOIN and not as WHERE. All variable values inserted into SQLs '''must''' be escaped, either via placeholders like <code>'&1'</code> or via function <code>sql_escape()</code>.
SQL code inserted into PHP code is enclosed in double quotes and generally formatted like this:
    $result = sql(
        "SELECT `cache_id`, `wp_oc`
        FROM `caches`
        JOIN `cache_logs` ON `cache_logs`.`cache_id` = `caches`.`cache_id`
        WHERE `caches`.`status` IN ('&1', '&2')",
        $status1,
        $status2
    );
Note that the opening " is on a tab position, while the following lines start one column to the right.
If lines get too long, the parameters are moved to the next line(s) and indented to the next indent column (which is ''three'' chars right of the preceding line's keyword):
    $result = sql(
        "SELECT
            `caches`.`cache_id`,
            `caches`.`type` AS `cache_type`,
            `cache_logs`.`date` AS `log_date`,
            `cache_logs`.`type` AS `log_type`
        FROM `caches`
        JOIN `cache_logs`
            ON `cache_logs`.`cache_id` = `caches`.`cache_id`
            AND `cache_logs`.`type` = '&1'
        WHERE
            `caches`.`status` = '&2'
            AND `cache_logs`.`user_id` = '&3'",
        $logType,
        $cacheStatus,
        $userId
    );
[[Kategorie:Entwicklung|Coding Style]]
[[Kategorie:English pages]]
2

Bearbeitungen

Navigationsmenü