
Nombres de variables
- La primer letra de una variable debe iniciar con minúscula
- Las variables nativas o arrays deben ir separadas por guión bajo(_) cada cambio de palabra : $my_var
- Las varibles que sean Objetos deben cambiar a mayúsculas cada cabo de palabra, ejemplo: $myVar
- Las varibles globales deben ir todas con mayusculas, ejemplo: $MY_VAR
Asignaciones
- Debe haber un espacio entre la variable y los operadores:
$my_var = 17; $a = $b;
Operadores
- «+», «-«, «*», «/», «=» y cualquier combinación de ellos (ej. «/=») necesitan un espacio entre
miembros de la izquierda y la derecha$a +17;$result = $b /2;$i +=34; - «.» no llevan espacio entre los miembros de la izquierda y la derecha
echo $a.$b;$c = $d.$this->foo();Recomendación
Por motivos de rendimiento, no exceda el uso de la concatenación.
- «.=» necesita un espacio entre los miembros de la izquierda y la derecha
$a .='Debug';
Declaraciones
- if, elseif, while, for:deben presentar un espacio entre la palabra clave if y el paréntesis
if(<condition>)while(<condition>) - Cuando una combinación de if y else else es utilizada y si ambas deben ofrecer un valor, el else debe ser evitado.
if(<condition>)returnfalse;returntrue;Recomendación
Le recomendamos un resultado por método / función
- Cuando un método / función ofrece un valor booleano y el valor actual del método / función depende de ello, la declaración if debe ser evitada
publicaFirstMethod(){return$this->aSecondMethod();} - Las pruebas deben ser agrupadas por «entidad»
if($price AND !empty($price))[...]if(!Validate::$myObject OR $myObject->id === NULL)[...]
Visibilidad
- La visibilidad debe definirse en cada momento, incluso cuando se trata de un método público.
- El orden de las propiedades del método debe ser: visibility static function name()
privatestaticfunction foo()
Nombres de Método / Función
- Los nombres del método y la función comienzan siempre con un carácter en minúscula y cada una de las palabras siguientes deben comenzar con un carácter en mayúsculas (CamelCase)
publicfunction myExempleMethodWithALotOfWordsInItsName() - Los corchetes que se presentan en el código del método tienen que ser precedidos por un retorno
publicfunction myMethod($arg1, $arg2){[...]} - Los nombres de los métodos y las funciones deben ser nombres explícitos, por lo tanto nombres de función como «b()» o «ef()» están completamente prohibidos.Excepciones
Las únicas excepciones son la función de traducción llamada «l()» y las funciones de depuración «p()», «d()».
Enumeración
Las comas deben estar seguidas (y sólo seguidas) por un espacio.
protected function myProtectedMethod($arg1, $arg2, $arg3 = null) |
Objetos / Clases
- El nombre del objeto debe colocarse en singular
classCustomer - El nombre de la clase debe seguir el modelo CamelCase, excepto que la primera letra sea mayúscula
classMyBeautifulClass
Definiciones
- Los nombres de las definiciones deben ser ingresados en mayúsculas
- Los nombres de las definiciones deben contar con el prefijo «PS_» dentro del núcleo y el módulo
define('PS_DEBUG',1);define('PS_MODULE_NAME_DEBUG',1); - Los nombres de las definiciones no permiten caracteres alfabéticos. Excepto “_”.
Palabras claves
Todas las palabras clave deben colocarse en minúsculas
ej. as, case, if, echo, null
Constantes
Las constantes deben estar en mayúsculas, excepto «verdadero» y «falso» y «nulo», que debe estar en minúsculas
ej. «ENT_NOQUOTE», «true»
Variables de configuración
Las variables de configuración siguen las mismas reglas que las definiciones
Cadenas
Las Cadenas deben ir entre comillas simples, nunca dobles
echo 'Debug';
|
Comentarios
- Dentro de las funciones y métodos, sólo la etiqueta «//» de comentario es permitida
- Después de la etiqueta «//» de comentario, un espacio “// Comment“ es necesario
// My great comment - La etiqueta «//» de comentario es permitida al final de una línea de código
$a =17+23;// A comment inside my exemple function - Funciones y métodos externos, sólo las etiquetas «/» y «/» de comentario son permitidas
/* This method is required for compatibility issues */publicfunction foo(){// Some code explanation right here[...]} - Comentario PHP Doc Element es necesario antes de las declaraciones de método
/*** Return field value if possible (both classical and multilingual fields)** Case 1 : Return value if present in $_POST / $_GET* Case 2 : Return object value** @param object $obj Object* @param string $key Field name* @param integer $id_lang Language id (optional)* @return string*/protectedfunction getFieldValue($obj, $key, $id_lang = NULL)Para más información
Para más información acerca de la regla PHP Doc: vea este enlace útil
Devolución de valores
- Las declaraciones de devolución no necesitan paréntesis, excepto cuando se trata de una expresión compuesta
return$result;return($a + $b);return(a() - b());returntrue; - Desarmar una función
return;
Llamada
La función de llamada precedida por una «@» está prohibida pero tenga cuidado con la llamada a la función / método con login / contraseña o ruta de argumentos.
myfunction()
|
Etiquetas
- Una línea en blanco debe dejarse después de la etiqueta de apertura de PHP
<?phprequire_once('my_file.inc.php'); - La etiqueta final de PHP está prohibida
Indentación
- El carácter de tabulación («\t») es el único caracter de indentación que se permite
- Cada nivel de indentación debe ser representado por un solo caracter de tabulación
function foo($a){if($a ==null)returnfalse;[...]}
Matriz
- La palabra clave de la matriz no debe ser seguida por un espacio
array(17,23,42); - La indentación debe ser de la siguiente forma cuando muchos datos se encuentran dentro de una matriz:
$a = array(36=> $b,$c =>'foo',$d => array(17,23,42),$e => array(0=>'zero',1=> $one));
Bloque
Los corchetes están prohibidos cuando se define solamente una instrucción o una combinación de declaración
if (!$result)
|
Sin comentarios