La Ravel
La Ravel
La Ravel
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
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_tableLa tabla users ya está creada
Se puede eliminar campos o agregar nuevos:
Ejemplos:
$table->string(‘name’20);
$table->mediumText(‘description’)->nullable();
$tableinteger(‘user_id’)unsigned();
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
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.phpesArchivos 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 VerbosGET 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
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
Contorlador RESTful
Crear ruta asi: Route::resource('movie','MovieController');
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
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
Reiniciar xammp
INTEGRAR BOOTSTRAP
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. ManualCopiar 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