Laravel
Programación Web II - TUPAR - UNICEN
¿Qué son los web frameworks?
Definición
Un framework para aplicaciones web es un framework diseñado para apoyar el desarrollo de sitios web dinámicos, aplicaciones web y servicios web.
Intenta aliviar el exceso de carga asociado con actividades comunes usadas en desarrollos web. Por ejemplo, a acceder a bases de datos, estructuras para plantillas y gestión de sesiones, y con frecuencia facilitan la reutilización de código.
Ventajas/Desventajas
Ventajas
Desventajas
Frameworks de PHP
Laravel Framework
Features
Let’s code!
Docker + Composer
> docker run --rm -v $(pwd):/app composer create-project --prefer-dist laravel/laravel LaravelDemo
Folders
Repaso MVC
Modelo - Responsabilidades
Vista - Responsabilidades
Controlador - Responsabilidades
Ej:
Cuando una nueva entrada de un usuario llega, el Controller la valida y llama al modelo para modificar los datos, luego actualiza la vista.
Router
Router en Laravel
Route::get('/hello', function () {
return 'Hello, World!';
});
Closure
Route::get('/hello', function () {
return 'Hello, World!';
});
¿Cómo hace para retornar “hello world” y que se muestre?
Middleware
HTML
URL Request
Return “Hello”
Creemos un sitio simple y estático
Vamos a crear un sitio con 3 rutas:
Nota: Por ahora solo van a tener texto plano.
Route Verbs
Ejemplos:
�
Route::delete('/', function () {});��Route::any('/', function () {});��Route::match(['get', 'post'], '/', function () {});
Route::get('/', function () {� return 'Hello, World!';�});��Route::post('/', function () {});��Route::put('/', function () {});�
Usando un controller
Ejemplo
Route::get('/', 'WelcomeController@index');
Route Parameters
Route::get('users/{id}/friends', function ($id) {� //�});
Route::get('users/{id?}', function ($id = 'fallbackId') {� //�});
Route Parameters - Controller
Route::get('users/{id}/friends', 'UserController@friends' );
class UserController extends Controller�{� public function friends($id)� {� …..� }�}
Constraints parámetros
Route::get('users/{id}', function ($id) {� //�})->where('id', '[0-9]+');
Views
Ejemplo:
Route::get('/', function () {� return view('home');�});
Refactor
Como hago para saber la URL de algo?
// Defining a route with name in routes/web.php:�Route::get('members/{id}', 'MembersController@show')->name('members.show');��// Link the route in a view using the route() helper�<a href="<?php echo route('members.show', ['id' => 14]); ?>">
Refactor
Artisan
docker-compose exec app php artisan list
Controller
docker-compose exec app php artisan make:controller AboutController
Refactor
Referencias