Laravel 62652fecd82350a

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 14

LARAVEL

Laravel es un marco de trabajo (framework), un conjunto de herramientas elaboradas en PHP ,


destinada a ayudar a la construcción de proyectos web usando el lenguaje PHP. Se especializa en
trabajar en el backend del proyecto (reglas de negocio, interacción con datos, seguridad) pero incluye
también características frontend a través de vistas para la creación de características del lado cliente.

Laravel acoge el patrón de diseño MVC (Model View Controller) que divide el proyecto en tres capas,
aproximadamente de esta manera:

1. Instalar PHP (Instalar PHP autónomo o desde un stack como Xampp)


2. Instalar Composer en modo Developer
3. Instalar Apache (opcionalmente si usa xampp)
4. Crear un project en cualquier carpeta de su equipo. (Necesita internet)

a. Project version 9:
composer create-project laravel/laravel: ^9.0 mi_proyecto_php
(Recomendada, no usar la más reciente por temas de depuración o bugs por corregir)
(Use la terminal de GIT o de Windows)
b. Project version 10:
composer create-project laravel/laravel mi_proyecto_php

-Laravel 9 necesita de una versión de PHP 8.x

(Ver sitio oficial Laravel en: https://laravel.com/)


Ejemplo de crear proyecto app_php usando una terminal de comandos de GIT:

composer create-project laravel/laravel: ^9.0 app_php


Estructura
Abriendo el proyecto desde Visual Studio Code:

Vistas, Modelos y Controladores.

El patrón de diseño MVC como tal es un conjunto de prácticas que han sido usadas y acogidas por la
industria como uno de los mecanismo de diseño de software web, con características probadas en su
funcionamiento, en torno a seguridad, modularidad, estandarización, Laravel nos recomienda seguir el
patrón MVC así como las propias reglas del framework para lograr unicidad de criterios en calidad y
facilidad de mantenimiento.

Los controladores son para MVC el conjunto de herramientas que se comunican con las vistas y
modelos para lograr la interacción de la aplicación de software.
En Laravel, los controladores se encuentran en este espacio y tienen esta apariencia, el controlador por
defecto se llama Controller, utiliza las clases que se revelan en este espacio y se deriva por herencia
del controlador BaseController:

Modelos.

Un modelo es una herramienta de software que interactúa con las tablas del modelo de datos de la
aplicación, se especializa en bases de datos relacionales como MySQL, Postgree, Oracle y otras de
importancia. Cada tabla de un proyecto Laravel tiene un Modelo con el cual interactúa en el sistema de
BD.

El modelo inicial, por defecto de Laravel es User:

Migraciones

Las migraciones son una interfaz que interactúa desde clases PHP con entidades SQL de las bases de
datos con las cuales se comunica, la tecnología de comunicación entre modelos de Clases y modelos
Relacionales se conocen como ORM (Objetc Relational Mapping). El ORM de Laravel se conoce
como Elocuent.

Observemos la estructura de proyecto Laravel en ella la carpeta ‘database’, la tecnología de


migraciones permite también llevar un registro de los cambios que se hacen en la bd, a manera de un
control de versiones.
Las migraciones por defecto en Laravel 9.0 son estas: users, password_resets, failed_jobs y
personal_access_tokens:

Cada archivo de migración está configurando tablas de la base de datos con acceso a clases, métodos,
funciones anónimas y métodos encadenados:

Llamado a clases Migration, Blueprint y Schema del escosistema Laravel con uso de herencia de la
clase Migration:
Aquí la función up() que llama a la clase Schema, al método estático create y dentro de ella los
argumentos que llaman a una instancia $table de la clase Blueprint

La clase Blueprint y su objeto $table llama a diversos métodos: id(), string(), timestamp(),
timestamps() y remembeerToken() con algunos parámetros, en ellos.

Estos métodos y sus parámetros hacen la construcción de una tabla ‘users’ que viene por defecto en el
proyecto. Cada llamado al objeto $table creará una columna en esa tabla.
Convenciones para migraciones:

Cada vez que se cree una migración para una determinada tabla de la base de datos, debe nombrarla de
la siguiente forma, utilizando nombres cortos (recomendados en inglés y plural), aunque usarla en otros
idiomas también funcionará:

php artisan make:migration create_name_table.


Ejemplo:
php artisan make:migration create_table_products

Comando Comando Utilidad


php artisan make:migration Crear la migración.
nombre_migracion
php artisan migrate Ejecutar la migración.
php artisan migration:refresh Deshacer todas las migraciones de la base de datos.
php artisan migrate:rollback Deshace la última migración ejecutada y registrada
en la base de datos.
php artisan migrate:reset Deshace todas las migraciones.
php artisan migrate:install Crear tablas migrations
php artisan migrate:status Ver el estado de la migración
php artisan db:wipe Elimina las tablas de la BD
Php artisan migrate:fresh Actualiza cambios en las migraciones del sistema

Ejercicio1
Usando el sitio de Laravel https://laravel.com/docs/9.x
Explique el significado de estas líneas de código en migraciones Laravel:

$table->bigIncrements('id');
$table->bigInteger('cantidad');
$table->binary('miFotografia');
$table->boolean('activo');
$table->char('nombre', 100);
$table->dateTimeTz('created_at', $precision = 0);
$table->dateTime('created_at', $precision = 0);
$table->date('created_at');
$table->decimal('precio', $precision = 8, $scale = 2);
$table->enum('genero', ['M', 'F']);
$table->float('peso', 8, 2);
$table->foreignId('user_id');
$table->foreignIdFor(User::class);
$table->increments('id');
$table->integer('edad');
$table->string('nombreCliente, 100);
$table->text('descripcion');
$table->time('amanecer', $precision = 0);
$table->timestamp('agregadoEn', $precision = 0);
$table->timestamps($precision = 0);
$table->tinyIncrements('id');
$table->unsignedBigInteger('votacion');
$table→unsignedSmallInteger('votes');

//Describa el significado de este bloque de código


use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

Schema::table('users', function (Blueprint $table) {


$table->string('email')->nullable();
});
//Fin de bloque

//Describa el significado de este bloque de código


use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

Schema::table('posts', function (Blueprint $table) {


$table->unsignedBigInteger('user_id');

$table->foreign('user_id')->references('id')->on('users');
});
//Fin de bloque
Ejercicios2. Crear tablas y relaciones SQL a través de migraciones Laravel

Crear estas migraciones en su proyecto, revise el idioma y procure usar como llaves primarias
unicamente id() utilizando el método id().
Ejemplo: $table→id(); No agregue mas atributos al método id(), no haga esto: $table→id(‘id_cliente’)
Todas las tablas deben estar en minúsculas y plural
Rutas.

Las rutas son accesos a los recursos Laravel, hay dos tipo principales: las rutas API, y las rutas web,
estas últimas cuando el usuario envía peticiones en un sitio web, como llamar una página, pulsar un
link. Esta es la apariencia en Laravel, dentro de la carpeta resources\routes:

La estructura de la ruta usa la clase Route con el método estático get y una función anónima también
conocida como clousure para ver esto:

El método get invoca una función anónima que retorna una vista ‘welcome’ desde la función view(),
aquí la ruta está dinamizando la aplicación al llamar una vista cuando el usuario esté en la raíz del
proyecto ‘/’
Lo que hace esta ruta es desplegar la vista welcome en el navegador. Welcome como veremos es un
archivo basado en html: Las rutas se ven en la barra de navegación de su browser web.

Si nuestra ruta se llama clientes, podría aparecer así en el archivo web.php de Laravel:

Y en el navegador así:
Ahora, si una ruta clientes1 no existe, en el navegador arroja un error 404 de recurso no encontrado:

Por su parte, las vistas son otro de los tres elementos de MVC, Laravel cuenta con un motor de
planatillas llamado Blade que es un software potente de diseño de vistas bajo código html, css y por
supuesto encapsula código php. La vemos en la carpeta resources\views:

El contenido de las vistas Blade y por supuesto del archivo welcome.blade.php es un html que
incorpora comandos PHP llamados directivas PHP:
Aquí vemos directivas PHP en forma por ejemplo de @if(Route::has(‘login’)) que pregunta por la ruta
‘login’

Por lo pronto revisemos el llamado de las rutas desde el navegador: Esta ruta /saludo nos debe
retornar solo un mensaje, note que no necesitamos un echo o un print():

Si la ruta fuera de otra forma /sena/cide/saludo:


Se llama de este modo en el navegador:

Ejercicio 3.

Crear 5 rutas en Laravel llamadas:


-/colombia: Agregue allí tres DIV con estilos de bootstrap o de un framework css que usted escoja, allí
debe permitir ver varios párrafos con contenido de texto de prueba loren ipsum acerca de
información de Colombia
Así mismo las siguienes rutas y despliegue desde Laravel su contenido
-/peru
-/bolivia
-/mexico
-brasil

También podría gustarte