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>)
return
false
;
return
true
;
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
public
aFirstMethod()
{
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()
private
static
function 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)
public
function myExempleMethodWithALotOfWordsInItsName()
- Los corchetes que se presentan en el código del método tienen que ser precedidos por un retorno
public
function 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
class
Customer
- El nombre de la clase debe seguir el modelo CamelCase, excepto que la primera letra sea mayúscula
class
MyBeautifulClass
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 */
public
function 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
*/
protected
function 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());
return
true
;
- 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
<?php
require_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
)
return
false
;
[...]
}
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