Herramientas de usuario

Herramientas del sitio


informatica:programacion:php:frameworks:laravel:convenciones

¡Esta es una revisión vieja del documento!


Convenciones utilizadas en Laravel

Laravel prioriza “convención sobre configuración”, así que seguir sus estándares te ahorrará tiempo.

Estructura de directorios

  • app/Models: modelos
  • resources/views: vistas.
  • app/Http/Controllers: controladores.
  • database/migrations: migraciones.
  • routes: definición de rutas.
  • config: archivos de configuración.

Nombrado de ficheros

  • Modelos: Singular y PascalCase (ej: User, ProductCategory).
  • ** Controladores: Sufijo Controller (ej: UserController). * *Migraciones*: create_users_table → genera tabla users. ===== Tablas ===== ===== Nombres de tablas ===== Por defecto, Laravel asume que el nombre de la tabla corresponde al *plural en inglés* del modelo asociado, en snake_case (minúsculas y separado por guiones bajos) si tiene más de una palabra. Ejemplos: ^ Modelo ^ Tabla ^ | User | users | | PostComment | post_comments | | ProductCategory | product_categories | Si nuestras tablas no siguen esta regla, podemos definir el nombre manualmente en el modelo estableciendo una propiedad privada con el nombre de la tabla: <code php> class User extends Model { protected $table = 'mis_usuarios'; // Sobrescribe la convención } </code> ===== Tablas Pivote ===== Para relaciones muchos a muchos (Many-to-Many), Laravel espera una tabla intermedia (pivote) con los nombres de las dos tablas relacionadas *en orden alfabético*, en singular y unidos por un guion bajo. Por ejemplo: ^ Modelos ^ Tabla pivote ^ | User y Role | role_user | | Post y Tag | post_tag | ===== Claves primarias ===== Por defecto, Laravel espera una columna llamada id como clave primaria. Si nuestra tabla usa otro nombre como clave primaria, hay que definir una propiedad protected $primaryKey en el modelo correspondiente: <code php> class User extends Model { protected $primaryKey = 'user_id'; } </code> ===== Claves foráneas ===== Claves Foráneas (Foreign Keys) Nombre: Laravel asume que la clave foránea se llama {nombre_modelo_en_singular}_id en snake_case. Ejemplo: Si un Comment pertenece a un Post → clave foránea: post_id. Personalización: Puedes definirla manualmente en las relaciones: php Copy class Comment extends Model { public function post() { return $this→belongsTo(Post::class, 'mi_post_id'); // Clave foránea personalizada } }
informatica/programacion/php/frameworks/laravel/convenciones.1741513414.txt.gz · Última modificación: por tempwin