Convenciones en PHP (El Lenguaje)
PHP no impone una única convención obligatoria, pero la comunidad y los manuales oficiales recomiendan ciertos estilos para evitar conflictos y mejorar la legibilidad.
1. Clases, Interfaces y Traits
Convención: PascalCase (también conocido como StudlyCaps). Cada palabra comienza con mayúscula y no hay guiones bajos.
Ejemplos:
class Usuario {}class UsuarioPremium {}interface ProveedorCorreo {}trait ValidadorDatos {}
Nota: La documentación oficial de PHP sugiere este estilo para las clases . PEAR, un estándar histórico, también lo recomienda .
2. Métodos
Convención: camelCase. La primera palabra comienza con minúscula y las siguientes palabras con mayúscula, sin guiones bajos .
Ejemplos:
public function obtenerNombre() {}public function enviarNotificacionPush() {}private function calcularTotal() {}
3. Propiedades (Atributos de una clase)
Convención: Históricamente ha habido cierta variabilidad, pero la tendencia moderna, especialmente con PHP 7.4+ y tipado fuerte, es usar camelCase.
Ejemplos:
public $nombreUsuario;protected $fechaCreacion;private $esActivo;
Nota histórica: Algunas guías antiguas recomendaban snake_case para propiedades o el uso de guiones bajos para propiedades privadas/protegidas (
$_nombre) , pero esto es cada vez menos común en el código PHP moderno, que prefiere la simplicidad de camelCase.
4. Constantes de Clase
Convención: MAYÚSCULAS_SNAKE_CASE. Todas las letras en mayúscula y palabras separadas por guiones bajos .
Ejemplos:
public const VERSION = '1.0';private const MAXIMO_INTENTOS = 5;
5. Funciones Globales (No recomendado dentro de clases)
Convención: snake_case. Letras minúsculas y palabras separadas por guiones bajos. Es el estilo que usa PHP internamente (ej.
str_replace,array_merge) .Ejemplos:
function conecta_base_datos() {}
Convenciones en Laravel (El Framework)
Laravel es famoso por su "magia" y convenciones sobre configuración. Seguir sus reglas de nomenclatura hace que todo funcione de manera fluida y automática .
Un Resumen Visual Rápido
Para que lo tengas siempre presente, esta imagen de Tajammal Amin en LinkedIn lo resume de forma excelente :
🐫 camelCase: Variables locales, métodos de controladores, parámetros de request.
🐍 snake_case: Tablas y columnas DB, parámetros de ruta, claves de configuración.
📛 PascalCase: Nombres de clases (Modelos, Controladores, Middleware).
🔠 MAYÚSCULAS_SNAKE_CASE: Constantes, variables de entorno.
➖ kebab-case: Nombres de rutas (en algunos contextos, aunque Laravel prefiere snake_case) y archivos de vista.
En Resumen
Para PHP Puro: Usa PascalCase para clases y camelCase para métodos y propiedades. Es limpio y moderno.
Para Laravel: Sigue las convenciones del framework al pie de la letra. Esto es clave. Cuando nombras tu modelo
BlogPosty tu tablablog_posts, Laravel los conecta automáticamente. Cuando nombras tu controladorBlogPostController, el framework y otros desarrolladores saben instantáneamente qué hace.
Adoptar estas convenciones desde el principio hará que tu código sea mucho más fácil de leer, mantener y escalar, tanto para ti como para cualquier otra persona que trabaje en el proyecto.
Comentarios
Publicar un comentario