En esta ocasión les explicare como es que kumbiaPHP hace uso del nombrado de los modelos con respecto a las tablas de la base de datos.
espero que con esta articulo puedan decidir mejor el nombrado que les darán a sus tablas.
Diferencia en nombrar a una tabla como clientes_activos en lugar de ClientesActivos.
Si nuestro modelo se llama clientesActivos
class ClientesActivos extends ActiveRecord { }
Entonces buscara en en la base de datos la tabla con el nombre de clientes_activos y no ClientesActivos, espero que esto les ayude a evitar ese dolor de cabeza que medio el nombrado de tablas a mi.
Los nombres de clase son CamelCase y los de ficheros small_case.
Asi que la clase se deberia llamar ClientesActivos y no clientesActivos.
Como apunte personal, las tablas se acostumbran a llamar en sentido plural: clientes, facturas, productos, cuando en realidad deberían llamarse en sentido singular, debido a que sin analizamos la programación OO, clientes sería una colección de objetos “cliente”. Basados en ese principio, cada objeto se crea de manera independiente aún cuando listemos varios clientes:
Clliente -> pepito perez, 123456
Cliente -> juan lopez 789456
y no
Clientes -> pepito perez, 123456
Clientes-> juan lopez 789456
Es un pequeño apunte personal, mas no es una regla de atar
Como complemento, una bolsa así tenga 0 o 1000 naranjas sigue siendo bolsa, no bolsas, lo mismo aplica para la tabla, son contenedores 🙂
En efecto, así es a nivel O.O. debería ser singular. pero bueno como dices esto dependerá de las practicas de cada quien. lo que si es mas tedioso es pasar de una bd a otra que no siguen un patrón y no me refiera a singular o plural si no hasta en el nombrado de las columnas.
Gracias por el aporte, viéndolo desde ese punto de vista las cosas cambian.
Sin ánimo de entrar en discusión, las tablas justamente se llaman en plural porque no tienen un solo elemento, sino varios. No tiene sentido crear una tabla para guardar un solo cliente, por ejemplo. Es decir, que si vamos a contener varios clientes, me parece muy lógico disponer de una instancia llamada clientes para administrarlos con sus propiedades y métodos. Y otra instancia llamada cliente para explorar sus columnas o datos.