Está en la página 1de 7

LARAVEL

http://laraveles.com/docs

CARACTERISTICAS
Eloquent.ORM Nada se SQL
Motor de Plantillas Blade
PSR-4 

INSTALACION
Instalar Composer  Administrador de dependencias. Instalar globalmente
Composer  Verifica Instalación composer
composer install  Instala lo de carpeta vendor
composer update  Actualiza laravel
Instalar Laravel y Crear Proyecto 
composer create-project laravel/laravel nombreproyecto --prefer-dist
Dos versiones Master y desarrollador
Desarrollador=>composer create-project laravel/laravel nomproyecto dev-develop

SUGERENCIAS
Con el nodeJS, se instalan dependecias
npm install  Actauliza las dependencias
Para ver las dependencias archivo package.json en la raíz del proyecto laravel
Bower  Administrador dependencias frontend
Instalar Git
Instalar entorno profesional vgrant & laravel homesstead
Dar permisos carpeta Storage y cache en bootstrap

INTERFAZ DE LINEA DE COMANDOS =>PHP ARTISAN


En la ruta del proyecto  php artisan --version  Version
php artisan down  Mantenimiento
php artisan up  OnLine
php artisan serve Dirección página
php artisan list  Lista de Comandos
php artisan optimize 

ESTRUCTURA DIRECTORIOS
/app: Se encuentra los modelos, controladores, controlador de rutas, filtros, etc.
Esta carpeta es la que se encarga de toda la lógica de la aplicación
/bootstrap: No se debe de modificar, sirve para la carga de laravel.
/config: Estan todos los archivos de configuración como app, bd, cache, vistas.
/database: Almacena las migraciones de base de datos
/public: Es la carpeta pública. Nuestro “documentRoot“
/resources: Recursos como archivos less, de idiomas y muy importante, las vistas
de la aplicación, que ya no se encuentran dentro de app
/storage: A esta carpeta debemos de darle permisos 777, se encarga de almacenar
cache, sesiones etc…
/tests: Dentro de esta carpeta irán los test de la aplicación
/vendor: El nucleo del framework y cualquier componente que instalemos

MVC

BASE DE DATOS
Laravel permite definir la estructura de la base de datos y cargarla con contenido de
prueba utilizando 3 componentes:
 Migraciones
 Seeders
 Model Factories (nuevo en Laravel 5.1)
El archivo .env de la raíz, contiene los datos de la base de datos
Laravel soporta: MySQL, Postgres, SQLite, y SQL Server.

MIGRACIONES
Especie de control de versiones para manejo de base de datos. Son opcionales.
Ruta: database/migrations/2014_10_12_000000_create_users_table.php
Crear Migración o Tablas
php artisan make:migration create_nomtabla_table --create=”nomtabla”
php artisan make:migration create_users_tableLa tabla users ya está creada
Se puede eliminar campos o agregar nuevos:
Ejemplos:
$table->string(‘name’20);
$table->mediumText(‘description’)->nullable();
$tableinteger(‘user_id’)unsigned();

Crear Relaciones entre tablas


En la migración
$table->foreign(user_id)->references(‘id’)->on(‘users)->onDelete(‘cascade’);

Eliminar Columna
Crear una nueva migración sin tabla
Método up. Con la tabla que vamos a utilizar
$table->dropColumn(‘nombreColumna’);
Método down

Migrar las Tablas => php artisan migrate


Deshacer una Migración => php artisan migrate:rollback
Deshacer Todas Migraciones => php artisan migrate:reset

SEEDERS
Permite cargar información a las tablas para probar el funcionamiento
database/seeds/ DatabaseSeeder.php  Llamar sedder
php artisan make:seeder UserTableSeeder
php artisan migrate --seed  Instala y ejecuta migraciones y seeders
php artisan migrate:refresh –seed  Ejecutar nuevamente
php artisan db:seed  Truncar base de datos

FAKER
Componente que genera datos
Copiar conponente en composer.json y en cmd=> composer update

MODEL FACTORIES
Utilizan faker. Agregar registros
Database/factories/ ModelFactory.php

CONFIGURACION
Ruta: config/app.php
Cambiar Namespace  php artisan app:name nombre
Errores  Archivo .env de la raíz DEBUG = true
Cambiar Idioma  Config/app.phpesArchivos de github resources/lang
Timezone  America/Bogota
RUTAS
Ruta de acceso a un recurso => app/http/routes.php
Tipos de Ruta  GET, POST, PUT, DELETE, RESOURCE
Rutas Multiple VerbosGET Y POST u Otros

Crear Ruta
Route::get('/', function () {
return view('welcome');
});

Route::get('contacto', ‘NombreController@funcionOmetodo’);

Route::get('contacto', ‘NombreController’);
Genera múltiples rutas: index,créate,store,show,edit,update,destroy

Mostrar rutas
Php artisan route:list

Ruta con parámetros


Route::get(‘nombre/{nombre}’, function($nombre)){
Return “$nombre”;
}

Grupo de rutas
Route::group()

Prefijo admin/users

CONTROLADORES
Responde petición, invocar modelo y vista  app/http/controllers/controller.php
1. Crear archivo NombreController.php
2. php artisan make:controller ContactoController --plain Vacio

public function funcioOmetodo() {


return view ( “nombreVista)”;
}

Contorlador RESTful
Crear ruta asi: Route::resource('movie','MovieController');

Enviar Variables a la Vista


public function funcioOmetodo() {
$variable = ‘Darwin’;
return view ( “nombreVista”)->with(‘nombre’,$variable);
}
Arreglos
Funcion compac

VISTAS
Es el frontend -_> Resources/views/welcome.blade.php
En la ruta=> solo se coloca welcome return view(‘welcome’);
El punto funciona como / si se tiene el archivo en una carpeta
=> return view(‘carpeta.index’);

MODELOS
Representación información, acceso a la información, representación tabla BD
Nombre de la tabla en singular  Ruta: App/Nombre.php
Crear Modelo
php artisan make:model Nombre
En el archivo
protected $table = "categories"; //Nombre de la tabla
protected $fillable = ['name']; //Campos a traer json

Relaciones
En el archivo del modelo se crea función que lleve por nombre el nombre del
modelo en plural con el que se va a relacionar

Hasmany  Uno a muchos


HasOne  Uno a Uno
BelongsTo Parte inversa de la relación
BelongsToMany

REQUEST
Diferentes métodos con Form Request
Ruta->app/Http/Request/UserCreateRequest.php
php artisan make:request UserCreateRequest

PAGINACION

SOFT DELETING
Ocultar elemento eliminado, no lo elimina base de datos

AUTENTICACION
Modelo o manual
MIDDELWARE
Mecanismo filtrar solicitudes http

Timestamps
Créate.at y update.at

TEMPLATES
Blade motor de plantillas, Reduce código HTML

TINKER
Linea de comando de pruebas
php artisan tinker

CRUD

CONFIGURAR HOST VIRTUAL


Windows/syssyem32/drivers/etc
127.0.0.1 applaravel.com  Dominio
Xampp/apcahe/conf/extra =>httpd-vlhost.conf

Copiar las siguientes lineas


Document root: carpeta public ñaravel
Servername dominio puesto en virtual host

Reiniciar xammp

INTEGRAR BOOTSTRAP

ACTUALIZAR A LARAVEL 5.1

BLADE
Cargar Archivos Css
Assets
Link href=”{{ asset(‘css/general.css’) }}”

Extends
@extends('admin.templates.main')
Yield
Crear secciones en plantilla
Los @yield van de acuerdo con los @section que se ha creado
@yield en el template
@section-> en la vista
@include

INSTALAR PAQUETES
www.packagist.org => Repositorio para componentes de composer

Paquetes
laravelcolletive/html->Crear formularios
Eloquent-sluggable=>Cambia url de forma vistosa de cviebrock
laracasts/flash =>

Dos Formas
1. En el proyecto => composer require laravelcollective/html
2. ManualCopiar en el archivo composer.json
En el cmd composer update Para que instale los paquetes
Agregar un nuevo provider archivo app/config/app.php
Agregar aliases en el mismo archivo

Crear Propoi requqest


Php artisan make:request nombreRequest
http/request/nobreRequest