Commit 75124b01 authored by Marius Burkard's avatar Marius Burkard

Merge branch 'stable-3.1'

parents 45e9406a 33f1938b
Some guidelines for web development with php.
Some guidelines for web development with PHP.
-----------------------------------------------------
* Unix Line Breaks Only, NO windows breaks please.
* Tabs set at 4 spaces either as tabs or spaces.
* Tabs to indent lines, NO spaces
* no accidental _<?php space before, within or after a file
* every php file starts and end with <?php ?> no spaces before or after
* error_reporting(E_ALL|E_STRICT) , yep php5
* Magic quotes is gone in php6, get used to it now. config = magic_quotes_gpc() Everything must be quoted
* Don't use ereg,split and other old function -> gone in php 5.4 or 6 (different information on php.net) http://www.php.net/manual/en/migration53.deprecated.php
* Don't use shorttags. A Shorttag is <? and that is confusing with <?xml -> always <?php
* every PHP file starts and end with <?php ?> no spaces before or after
* error_reporting(E_ALL|E_STRICT), yep PHP 5
* Magic quotes is gone, get used to it now. config = magic_quotes_gpc() Everything must be quoted
* Don't use ereg, split and other old function -> gone in PHP 5.4
* Don't use features that are not supported in PHP 5.3, for compatibility with LTS OS releases, ISPConfig must support PHP 5.3+
* Don't use shorttags. A Shorttag is <? and that is confusing with <?xml -> always usw <?php
* Don't use namespaces
* Column names in database tables and database table names are in lowercase
* Classes for the interface are located in interface/lib/classes/ and loaded with $app->uses() or $app->load() functions.
* Classes for the server are located in server/lib/classes/ and loaded with $app->uses() or $app->load() functions.
please mark any section that need review or work on with
// TODO
* Add documentation about access levels (public, private, protected).
* please mark any section that need review or work on with /* TODO: short description */
* Make function / var names on the following way, first word lower, next word(s) first letter upper like. getFirstResult();
Pear coding guidelines
* always a space but NO newline before opening braces, e. g.
class abc {
public function cde() {
if($a == $b) {
return false;
}
}
}
* no spaces after function/method or control names, e. g.
function abc($x, $y) {
if($condition == true) {
$x = 2;
}
}
and NOT
function abc ($x, $y) {
if ( $condition == true ) {
}
}
//*****************************************************************************
// Commenting style
//*****************************************************************************
phpdoc is used for creating and autogenerating the documentation, this means that
some of the comments can be formatted to be included in documentation.
ie the source files are scanned then processed and html docs are created.
The comments break down into the following types
// is uses for removing lines and debug dev etc
//** and //* are used as "sub comments"
/*
is used to comment out blocks
is used to comment out blocks
*/
/** is used to create documentaion
* thats over
* lines
*/
* thats over
* lines
*/
If you need to block out a section then use
/*
function redundant_code(){
something here
something here
}
*/
......@@ -48,26 +62,6 @@ To block out single lines use // and all // are assumed to be redundant test cod
// print_r($foo);
For inline comment use //** and //* eg
//** Decide what do do
switch($decide){
//* blow it up
case 'baloon':
$foo->gas(+1);
// test_pressure(); << inline comment
break;
//* Do default action
default:
do_land();
get_gps();
//* following grant greaceful exit
//basket_exit_crash();
basket_exit();
}
Do not use the phpdoc on every function, eg
/**
......@@ -77,25 +71,15 @@ Do not use the phpdoc on every function, eg
*/
>>
function login($user, $pass){
.......
}
<<
as this function explains its self, the following clean code will suffice
as this function is self-explaining, the following clean code will suffice
>>
function login($user, $pass){
.......
}
If you do need to explain a function then put un the summary syntax eg
/** Pass an array of values where third param is bar
* $foo['bar'] = 1; // allow a user
* $foo['bar'] = 2; // destroy user
* $foo['bar'] = -1; // recreate
*/
public function do_something($x, $y, $foo){
... do something interesting
}
//*****************************************************************************
// Where to store custom settings
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment