Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introducción A Laravel 5.2

Introducción A Laravel 5.2

Una introducción al desarrollo de aplicaciones usando el framework Laravel en su versión 5.2

Avatar for Saul Guardado

Saul Guardado

June 15, 2016

Other Decks in Programming

Transcript

  1. Instalación de Laravel • Por medio del instalador de Laravel

    – composer global require "laravel/installer“ – Crear proyecto: laravel new demo • A través de composer – composer create-project --prefer-dist laravel/laravel demo
  2. Las rutas (Routes) • Todas las rutas de nuestra aplicación

    residen en el archivo app/Http/routes.php • Las rutas aceptan una URI y un Closure. • Ejemplo
  3. Los métodos disponibles para una ruta • Las rutas nos

    permiten registrar rutas que respondan a cualquier verbo HTTP. • A veces podemos necesitar alguna ruta que responda a muchos verbos HTTP. • O bien responder a todos los verbos HTTP.
  4. Parámetros en las Rutas • Parámetros requeridos • Parámetros opcionales

    » Los parámetros no pueden tener un guión en sus nombres (-) usar guion bajón en ese caso ( _ )
  5. Las vistas (views) • Las vistas se encuentran en el

    directorio resources/views • Las vistas contienen el HTML servido por nuestra aplicación y separa nuestro controlador / lógica de la aplicación con nuestra lógica de presentación. • Los archivos de vista se nombra de la siguiente manera: nombre_vista.blade.php
  6. Pasar controladores a nuestras rutas • Crear un controlador –

    php artisan make:controller PersonasController • Llamar al controlador desde la ruta – Route::get(‘/’, ‘PersonasController@saludo’);
  7. Archivos de layout • Útiles para no repetir el mismo

    HTML en todas las vistas (se crea una plantilla base y las demás vistas ‘heredan’ la plantilla) • En los archivos layout podemos definir bloques usando la sintaxis @yield(‘bloque’). • Las vistas ‘hijas’ deben extender al layout – @extends(‘plantilla’) – @section(‘bloque’) contenido @endsection
  8. Archivos CSS, JavaScript e imágenes • Estos archivos viven dentro

    de la carpeta public de Laravel por lo que podemos referenciarlos en nuestras vistas: – <link rel=“stylesheet” href=“css/estilos.css”> – <script src=“js/script.js”></script> • Podemos usar elixir – <link rel=“stylesheet” href=“{{ elixir(‘css/app.css’)}}”>
  9. Migraciones • Las migraciones sirve para crear las tablas en

    nuestra base de datos • Crear migraciones – php artisan make:migration nombre_migracion -- create=nombre_tabla • Aplicar las migraciones – php artisan migrate » El nombre de la tabla se recomienda que sea es minúsculas y en plural y si podemos escribirlos en inglés mejor
  10. Consultas en el controlador $personas = DB:table(‘tabla’)->get(); return view(‘listado’, compact(‘personas’));

    En la vista @foreach ($personas as $persona) {{ $persona->nombre }} @endforeach No olvidar importar la clase DB !!
  11. Usando Eloquent • Debemos crear un modelo – php artisan

    make:model NombreClase • Importamos nuestra clase en el controlador – use App\Clase • Hacemos una consulta – $personas = Persona::all();
  12. Mostrando objetos individuales • En el controlador – public function

    mostrar(Persona $persona){ return view(‘listado’, compact(‘persona’)); } • En la vista – {{ $persona->nombre }}
  13. Relaciones entre modelos • Supongamos que una persona puede tener

    muchas mascotas, pero una mascota pertenece a una única persona • Creamos las tablas – php artisan make:migration crear_tabla_personas --create personas – php artisan make_migration crear_tabla_mascotas --create mascotas • Crear los modelos – php artisan make:model Persona – php artisan make:model Mascota • Asignar relación en la migracion – $table->integer(‘persona_id’)->unsigned()->index();
  14. Relaciones entre modelos Asignar relaciones en los modelos • En

    el modelo Persona – public function mascotas(){ return $this->hasMany(Mascota::class); } • En el modelo Mascota – public function persona(){ return $this->belongsTo(Persona::class); }
  15. Relaciones entre modelos Asignar relaciones en los modelos • En

    la vista – @foreach($persona->mascotas as $mascota) {{ $mascota->nombre }} @endforeach
  16. Formularios • Crear la ruta que procesará nuestro formulario –

    Route::post(‘personas/nuevo’, ‘Controlador@agregar’); • En el controlador – public function agregar(Request $request){ $persona = new Persona; $persona->nombre = $request->nombre; $persona->save(); return back(); } • asd