coding
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
coding [2008/04/17 22:01] – fgm | coding [2020/11/23 17:23] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 45: | Line 45: | ||
< | < | ||
</tr> | </tr> | ||
- | <tr style=" | + | <tr style=" |
- | | + | |
{ | { | ||
$ret = action; | $ret = action; | ||
return $ret; | return $ret; | ||
- | }</ | + | }</ |
- | | + | |
return action; | return action; | ||
- | }</ | + | }</ |
- | | + | |
{ | { | ||
return action; | return action; | ||
Line 89: | Line 86: | ||
< | < | ||
</tr> | </tr> | ||
- | <tr style=" | + | <tr style=" |
- | | + | |
{ | { | ||
// members | // members | ||
- | }</ | + | }</ |
- | | + | |
- | | + | |
- | | + | |
{ | { | ||
// members | // members | ||
Line 115: | Line 108: | ||
< | < | ||
</tr> | </tr> | ||
- | <tr style=" | + | <tr style=" |
- | | + | |
{ | { | ||
action1; | action1; | ||
Line 127: | Line 119: | ||
{ | { | ||
defaultaction; | defaultaction; | ||
- | }</ | + | }</ |
- | | + | |
action1; | action1; | ||
} | } | ||
Line 136: | Line 127: | ||
else { | else { | ||
defaultaction; | defaultaction; | ||
- | }</ | + | }</ |
- | | + | |
action1; | action1; | ||
} elseif ((test3) && (test4)) { | } elseif ((test3) && (test4)) { | ||
Line 143: | Line 133: | ||
} else { | } else { | ||
defaultaction; | defaultaction; | ||
- | }</ | + | }</ |
- | | + | |
action1; | action1; | ||
} else if (test3) { | } else if (test3) { | ||
Line 150: | Line 139: | ||
} else { | } else { | ||
| | ||
- | }</ | + | }</ |
- | | + | |
<tr> | <tr> | ||
< | < | ||
Line 175: | Line 163: | ||
< | < | ||
</tr> | </tr> | ||
- | <tr style=" | + | <tr style=" |
- | | + | |
{ | { | ||
case 1: | case 1: | ||
Line 189: | Line 176: | ||
defaultaction; | defaultaction; | ||
break; | break; | ||
- | }</ | + | }</ |
- | | + | |
case 1: | case 1: | ||
action1; | action1; | ||
Line 202: | Line 188: | ||
defaultaction; | defaultaction; | ||
break; | break; | ||
- | }</ | + | }</ |
- | | + | |
case 1: | case 1: | ||
action1; | action1; | ||
Line 215: | Line 200: | ||
defaultaction; | defaultaction; | ||
break; | break; | ||
- | }</ | + | }</ |
- | | + | |
case 1: | case 1: | ||
break; | break; | ||
Line 225: | Line 209: | ||
default: | default: | ||
break; | break; | ||
- | }</ | + | }</ |
- | | + | |
</ | </ | ||
</ | </ | ||
Line 290: | Line 273: | ||
This means that including can make use of the autoload mechanism, which can be more efficient under caching than using require_once with conditional content. | This means that including can make use of the autoload mechanism, which can be more efficient under caching than using require_once with conditional content. | ||
+ | |||
Line 308: | Line 292: | ||
====== File formatting ====== | ====== File formatting ====== | ||
- | |||
- | |||
^ Feature | ^ Feature | ||
- | |||
| <% %> tags | No | No | | <% %> tags | No | No | ||
- | |||
| <? ?> tags | No | No | | <? ?> tags | No | No | ||
- | |||
| Closing ?> | No | Should be omitted | | Closing ?> | No | Should be omitted | ||
- | |||
| Indenting | | Indenting | ||
- | |||
| Tabs | No | No | | Tabs | No | No | ||
- | |||
| Line length | as ZF | | Line length | as ZF | ||
- | |||
| Line termination | | Line termination | ||
- | |||
| __HALT_COMPILER() | unspecified | | __HALT_COMPILER() | unspecified | ||
- | |||
- | |||
The rule regarding the closing ?> tag is only applicable to " | The rule regarding the closing ?> tag is only applicable to " | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
====== Comments, inline doc ====== | ====== Comments, inline doc ====== | ||
- | |||
- | |||
< | < | ||
- | |||
<table class=" | <table class=" | ||
- | |||
<tr> | <tr> | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
</tr> | </tr> | ||
- | |||
<tr> | <tr> | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
</tr> | </tr> | ||
- | |||
<tr> | <tr> | ||
- | |||
< | < | ||
- | |||
<td style=" | <td style=" | ||
- | |||
<ul> | <ul> | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
</ul> | </ul> | ||
- | |||
</ | </ | ||
- | |||
<td style=" | <td style=" | ||
- | |||
< | < | ||
- | |||
</ | </ | ||
- | |||
<td style=" | <td style=" | ||
- | |||
<td style=" | <td style=" | ||
- | |||
* Short description for file | * Short description for file | ||
- | |||
* | * | ||
- | |||
* Long description for file (if any)... | * Long description for file (if any)... | ||
- | |||
* | * | ||
- | |||
* LICENSE: Some license information | * LICENSE: Some license information | ||
- | |||
* | * | ||
- | |||
* @copyright | * @copyright | ||
- | |||
* @license | * @license | ||
- | |||
* @version | * @version | ||
- | |||
* @link | * @link | ||
- | |||
* @since | * @since | ||
- | |||
*/</ | */</ | ||
- | |||
</tr> | </tr> | ||
- | |||
<tr> | <tr> | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
<td style=" | <td style=" | ||
- | |||
* Short description for class | * Short description for class | ||
- | |||
* | * | ||
- | |||
* Long description for class (if any)... | * Long description for class (if any)... | ||
- | |||
* | * | ||
- | |||
* @copyright | * @copyright | ||
- | |||
* @license | * @license | ||
- | |||
* @version | * @version | ||
- | |||
* @link | * @link | ||
- | |||
* @since | * @since | ||
- | |||
* @deprecated Class deprecated in Release 2.0.0 | * @deprecated Class deprecated in Release 2.0.0 | ||
- | |||
| | ||
- | |||
</tr> | </tr> | ||
- | |||
<tr> | <tr> | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
<td> | <td> | ||
- | |||
<ul> | <ul> | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
</ul> | </ul> | ||
- | |||
</td> | </td> | ||
- | |||
</ | </ | ||
- | |||
</ | </ | ||
- | |||
- | |||
- | |||
- | |||
Line 534: | Line 412: | ||
====== Naming Conventions ====== | ====== Naming Conventions ====== | ||
+ | |||
+ | |||
Line 556: | Line 436: | ||
< | < | ||
- | |||
<table class=" | <table class=" | ||
- | |||
<col span=" | <col span=" | ||
- | |||
<tr> | <tr> | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
</tr> | </tr> | ||
- | |||
<tr style=" | <tr style=" | ||
- | |||
< | < | ||
- | + | | |
- | | + | |
<td style=" | <td style=" | ||
- | |||
<td style=" | <td style=" | ||
- | |||
<td style=" | <td style=" | ||
- | |||
</tr> | </tr> | ||
- | |||
<tr style=" | <tr style=" | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
</tr> | </tr> | ||
- | |||
<tr style=" | <tr style=" | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
<td style=" | <td style=" | ||
- | |||
</tr> | </tr> | ||
- | |||
<tr style=" | <tr style=" | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
</tr> | </tr> | ||
- | |||
<tr> | <tr> | ||
- | |||
< | < | ||
- | |||
<td style=" | <td style=" | ||
- | |||
{ | { | ||
- | |||
const SOME_CONSTANT = ' | const SOME_CONSTANT = ' | ||
- | |||
}</ | }</ | ||
- | |||
<td style=" | <td style=" | ||
- | |||
<td style=" | <td style=" | ||
- | |||
<td style=" | <td style=" | ||
- | |||
const SOME_CONSTANT = ' | const SOME_CONSTANT = ' | ||
- | |||
}</ | }</ | ||
- | |||
</tr> | </tr> | ||
- | |||
<tr> | <tr> | ||
- | |||
< | < | ||
- | |||
<td style=" | <td style=" | ||
- | |||
protected _someFieldTwo; | protected _someFieldTwo; | ||
- | |||
public | public | ||
- | |||
<td style=" | <td style=" | ||
- | |||
<td style=" | <td style=" | ||
- | |||
<td style=" | <td style=" | ||
- | |||
protected _someFieldTwo; | protected _someFieldTwo; | ||
- | |||
public someFieldThree;</ | public someFieldThree;</ | ||
- | |||
</tr> | </tr> | ||
- | |||
<tr> | <tr> | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
</tr> | </tr> | ||
- | |||
<tr> | <tr> | ||
- | |||
< | < | ||
- | |||
<td style=" | <td style=" | ||
- | |||
<ul> | <ul> | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
</ul> | </ul> | ||
- | |||
</td> | </td> | ||
- | |||
<td style=" | <td style=" | ||
- | |||
<ul> | <ul> | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
<ul> | <ul> | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
</ul> | </ul> | ||
- | |||
</li> | </li> | ||
- | |||
< | < | ||
- | |||
</ul> | </ul> | ||
- | |||
</td> | </td> | ||
- | |||
<td style=" | <td style=" | ||
- | |||
<td style=" | <td style=" | ||
- | |||
<ul> | <ul> | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
</ul> | </ul> | ||
- | |||
</td> | </td> | ||
- | |||
</tr> | </tr> | ||
- | |||
<tr> | <tr> | ||
- | |||
< | < | ||
- | |||
<td style=" | <td style=" | ||
- | |||
<ul> | <ul> | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
<ul> | <ul> | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
<ul> | <ul> | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
</ul> | </ul> | ||
- | |||
</li> | </li> | ||
- | |||
< | < | ||
- | |||
<ul> | <ul> | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
< | < | ||
- | |||
</ul> | </ul> | ||
- | |||
</li> | </li> | ||
- | |||
</ul> | </ul> | ||
- | |||
</li> | </li> | ||
- | |||
</ul> | </ul> | ||
- | |||
</td> | </td> | ||
- | |||
<td style=" | <td style=" | ||
- | |||
<td style=" | <td style=" | ||
- | |||
<td style=" | <td style=" | ||
- | |||
</tr> | </tr> | ||
- | |||
</ | </ | ||
- | |||
</ | </ | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
===== Variables ===== | ===== Variables ===== | ||
- | + | Variables naming following the rules for functions and methods. Exceptions: | |
- | + | ||
- | Variables naming following the rules for functions and methods. | + | |
- | + | ||
- | + | ||
- | + | ||
- | Exceptions: | + | |
- | + | ||
* existing libraries or APIs are not renamed. Facade APIs may be used until existing libraries match the new format | * existing libraries or APIs are not renamed. Facade APIs may be used until existing libraries match the new format | ||
- | |||
* the standard variable $ret should be used for all return values. Always use it to return a value, instead of directly returning the latest instruction result. This helps with a typical debugger configuration: | * the standard variable $ret should be used for all return values. Always use it to return a value, instead of directly returning the latest instruction result. This helps with a typical debugger configuration: | ||
- | |||
* some Hungarian notation is used: | * some Hungarian notation is used: | ||
- | |||
* the name of " | * the name of " | ||
- | |||
* http:// | * http:// | ||
- | |||
* naming resulting from external objects applies the rule by pieces. Example: | * naming resulting from external objects applies the rule by pieces. Example: | ||
- | |||
* GTK widgets are named < | * GTK widgets are named < | ||
- | |||
* GTK signals are called < | * GTK signals are called < | ||
- | |||
* Related callbacks are called on_< | * Related callbacks are called on_< | ||
- | |||
* Example: on_fmMain_destroy is | * Example: on_fmMain_destroy is | ||
- | |||
* " | * " | ||
- | |||
* " | * " | ||
- | |||
* " | * " | ||
- | |||
* Rationale: forcing CamelCaps for the standard naming convention would result in onFmMainDestroy, | * Rationale: forcing CamelCaps for the standard naming convention would result in onFmMainDestroy, | ||
- | |||
- | |||
- | |||
===== Functions and Methods ===== | ===== Functions and Methods ===== | ||
- | |||
- | |||
* Since PHP4 support is not required, visibility (private, protected) settings on class members are recommended when using PHP5 class constructions. | * Since PHP4 support is not required, visibility (private, protected) settings on class members are recommended when using PHP5 class constructions. | ||
- | |||
* functions or methods returning unsafe values are prefixed by " | * functions or methods returning unsafe values are prefixed by " | ||
- | |||
* " | * " | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
===== Constants ===== | ===== Constants ===== | ||
- | |||
- | |||
As of 01/01/2007, see table above. Note that the PHP builtins " | As of 01/01/2007, see table above. Note that the PHP builtins " | ||
- | |||
- | |||
Previously, the format was: | Previously, the format was: | ||
- | |||
<code php> | <code php> | ||
- | |||
define(' | define(' | ||
- | |||
</ | </ | ||
- | |||
- | |||
This style of coding is now considered obsolete (even under Drupal conventions, | This style of coding is now considered obsolete (even under Drupal conventions, | ||
<code php> | <code php> | ||
- | |||
class G2 | class G2 | ||
- | |||
{ | { | ||
- | |||
// don't forget the PHPdoc here | // don't forget the PHPdoc here | ||
- | |||
const VERSION = ' | const VERSION = ' | ||
- | |||
} | } | ||
- | |||
</ | </ | ||
- | |||
===== Drupal-specific: | ===== Drupal-specific: | ||
- | |||
- | |||
* Drupal mandates some function names, notably, for module " | * Drupal mandates some function names, notably, for module " | ||
- | |||
* default theme functions must be named theme_mymodule_foo | * default theme functions must be named theme_mymodule_foo | ||
- | |||
* hook_foo implementations must be named mymodule_foo | * hook_foo implementations must be named mymodule_foo | ||
- | |||
* Beyond that, all other functions in a module should be defined as static public methods of a class named like the module, like: | * Beyond that, all other functions in a module should be defined as static public methods of a class named like the module, like: | ||
- | |||
<code php> | <code php> | ||
- | |||
// don't forget the PHPdoc comments here | // don't forget the PHPdoc comments here | ||
- | |||
class My_Module | class My_Module | ||
- | |||
{ | { | ||
- | |||
// and here | // and here | ||
- | |||
const SOME_CONSTANT = ' | const SOME_CONSTANT = ' | ||
- | |||
- | |||
// ... and here too | // ... and here too | ||
- | |||
static public function foo($op) | static public function foo($op) | ||
- | |||
{ | { | ||
- | |||
// do something and return | // do something and return | ||
- | |||
} | } | ||
- | |||
} | } | ||
- | |||
- | |||
// ..which can be invoked as: | // ..which can be invoked as: | ||
- | |||
My_Module:: | My_Module:: | ||
- | |||
</ | </ | ||
- | |||
- |
coding.1208469694.txt.gz · Last modified: 2020/11/23 17:23 (external edit)