bienes

Laravel: ¿Qué son los controladores de laravel?

En el marco de MVC, la letra "C" significa Controladores, y en este artículo veremos cómo usar los Controladores en Laravel. Actúa como tráfico directo entre vistas y modelos. En este artículo vemos cómo crear y configurar controladores en Laravel.

Creare un controller en laravel

Para crear un controller, debemos abrir el símbolo del sistema o terminal, según el sistema operativo que estemos usando, y escribir el siguiente comando para crear el controlador usando Artisan CLI (Command Line Interface).

php artisan make:controller <controller-name> --plain

Reemplazar <controller-name> con tu nombre controller. Esto creará un controller. los controller creado se puede ver en app/Http/Controllers .

Verá que ya se ha realizado una codificación básica para usted y puede agregar su propia codificación personalizada. El controller created se puede llamar desde web.php con la siguiente sintaxis.

sintaxis
Route::get(‘base URI’,’controller@method’);
Ejemplo

1 : Ejecute el siguiente comando para crear MyController

php artisan make:controller MyController

2 – Después de una ejecución exitosa, obtendrá el siguiente resultado.

3 – Encontraremos el controlador creado en app/Http/Controller/MyController.php con un código básico ya escrito y podemos hacer cambios según sea necesario.

Programa intermedio del controlador

Ya hemos visto el middleware y también podemos usarlo con el controller. los middleware también se puede asignar a la ruta del controlador o dentro del constructor del controlador. Puedes usar el método middleware para asignar el middleware al controller. los middleware registrada también puede limitarse a ciertos métodos de la controller.

Asignación del middleware a la ruta
Route::get('profile', [
   'middleware' => 'auth',
   'uses' => 'UserController@showProfile'
]);

Aquí estamos asignando middleware de autenticación a UserController en la ruta del perfil.

Asignación de middleware dentro del constructor del controlador
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class MyController extends Controller {
   public function __construct() {
      $this->middleware('auth');
   }
}

Aquí estamos asignando el middleware de autenticación utilizando el método middleware en el constructor micontrolador .

Tenga en cuenta que $this->middleware() funziona solo si lo asigna en el constructor. si llamamos $this->middleware() desde un método de controlador específico, no arrojará ningún error, pero el middleware en realidad no funcionará.

Esta opción es válida, pero personalmente prefiero poner todo el middleware en el routes, porque es más claro dónde buscar todos los middleware.

Ejemplo

1 – Agreguemos las siguientes líneas de código al archivo rutas/web.php y ahorramos.

<?php
Route::get('/mycontroller/path',[
   'middleware' => 'First',
   'uses' => 'MyController@showPath'
]);

2 – Vamos a crear un middleware llamado FirstMiddleware ejecutando la siguiente línea de código.

php artisan make:middleware FirstMiddleware

3 : agregue el siguiente código en el método encargarse de de los FirstMiddleware recién creado en aplicación/Http/Middleware .

<?php

namespace App\Http\Middleware;
use Closure;

class FirstMiddleware {
   public function handle($request, Closure $next) {
      echo '<br>First Middleware';
      return $next($request);
   }
}

4 – Vamos a crear un middleware llamado SegundoMiddleware ejecutando el siguiente comando.

php artisan make:middleware SecondMiddleware

5 : agreguemos el siguiente código en el método handle del SecondMiddleware recién creado en aplicación/Http/Middleware .

Boletín de innovación
No te pierdas las noticias más importantes sobre innovación. Regístrese para recibirlos por correo electrónico.
<?php

namespace App\Http\Middleware;
use Closure;

class SecondMiddleware {
   public function handle($request, Closure $next) {
      echo '<br>Second Middleware';
      return $next($request);
   }
}

6 : vamos a crear un controller llamado micontrolador ejecutando la siguiente línea.

php artisan make:controller MyController

7 – Después de que la URL se ejecute correctamente, obtendrá el siguiente resultado:

8 – Copie el siguiente código en el archivo app/Http/MyController.php.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class MyController extends Controller {
   public function __construct() {
      $this->middleware('Second');
   }
   public function showPath(Request $request) {
      $uri = $request->path();
      echo '<br>URI: '.$uri;
      
      $url = $request->url();
      echo '<br>';
      
      echo 'URL: '.$url;
      $method = $request->method();
      echo '<br>';
      
      echo 'Method: '.$method;
   }
}

9 – Ahora, iniciemos el servidor web interno de php ejecutando el siguiente comando, si aún no lo ha hecho.

php artisan serve

10 – Visita la siguiente URL.

http://localhost:8000/mycontroller/path

11 – La salida aparecerá como se muestra en la siguiente imagen.

Prácticamente ambos middlewares están involucrados, pero solo uno

Controller di restful resource

A menudo, al crear una aplicación, debe hacer algo CRUD (Create, Read, Update, Delete)Laravel facilita este trabajo. Solo crea un controller y Laravel proporcionará todos los métodos para las operaciones automáticamente CRUD. También podemos registrar una ruta única a todos los métodos en el archivo route.php.

Ejemplo

1 : crea un controlador llamado MyController ejecutando el siguiente comando.

php artisan make:controller MyController

2 : agregue el siguiente código en app/Http/Controllers/MyController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class MyController extends Controller {
   public function index() {
      echo 'index';
   }
   public function create() {
      echo 'create';
   }
   public function store(Request $request) {
      echo 'store';
   }
   public function show($id) {
      echo 'show';
   }
   public function edit($id) {
      echo 'edit';
   }
   public function update(Request $request, $id) {
      echo 'update';
   }
   public function destroy($id) {
      echo 'destroy';
   }
}

3 – Agreguemos la siguiente línea de código en el archivo routes/web.php .

Route::resource('my','MyController');

4 – Ahora estamos registrando todos los métodos de MyController al registrar un controlador con recurso. A continuación se muestra la tabla de acciones gestionadas por el controlador de recursos.

VerbPathla columna AcciónNombre de ruta
/miíndicemi índice
/mi/crearPara crearmi.crear
PUBLICAR/mitiendami tienda
/mi mi}Mostrarmi espectáculo
/mi/{mi}/editareditarmi edición
PONER/PARCHE/mi mi}actualizaciónmi.actualización
BORRAR/mi mi}destruirmi destruir

5 – Intente ejecutar las URL que se muestran en la siguiente tabla.

EnlanceDescripciónuscita
http://localhost:8000/myEjecute el método de índice de MyController.phpíndice
http://localhost:8000/my/createEjecute el método de creación de MyController.phpcrear
http://localhost:8000/my/1Ejecute el método show de MyController.phpMostrar
http://localhost:8000/my/1/editEjecute el método de edición de MyController.phpeditar

Ercole Palmeri

Boletín de innovación
No te pierdas las noticias más importantes sobre innovación. Regístrese para recibirlos por correo electrónico.

Artículos recientes

Aprendizaje automático: comparación entre Random Forest y árbol de decisión

En el mundo del aprendizaje automático, tanto los algoritmos de bosque aleatorio como de árbol de decisión desempeñan un papel vital en la categorización y...

17 2024 mayo

Cómo mejorar presentaciones en Power Point, consejos útiles

Hay muchos consejos y trucos para realizar excelentes presentaciones. El objetivo de estas normas es mejorar la eficacia, fluidez de…

16 2024 mayo

La velocidad sigue siendo la palanca en el desarrollo de productos, según el informe de Protolabs

Publicación del informe "Perspectivas de desarrollo de productos de Protolabs". Examine cómo se lanzan nuevos productos al mercado hoy...

16 2024 mayo

Los cuatro pilares de la Sostenibilidad

El término sostenibilidad se utiliza ahora ampliamente para indicar programas, iniciativas y acciones destinadas a preservar un recurso en particular.…

15 2024 mayo

Cómo consolidar datos en Excel

Cualquier operación empresarial produce una gran cantidad de datos, incluso en diferentes formas. Ingrese manualmente estos datos desde una hoja de Excel para...

14 2024 mayo

Análisis trimestral de Cisco Talos: los correos electrónicos corporativos dirigidos por delincuentes Fabricación, educación y atención sanitaria son los sectores más afectados

El compromiso de los correos electrónicos de las empresas aumentó más del doble en los primeros tres meses de 2024 en comparación con el último trimestre de…

14 2024 mayo

Principio de segregación de interfaces (ISP), cuarto principio SÓLIDO

El principio de segregación de interfaces es uno de los cinco principios SÓLIDOS del diseño orientado a objetos. Una clase debería tener...

14 2024 mayo

Cómo organizar mejor los datos y las fórmulas en Excel para un análisis bien hecho

Microsoft Excel es la herramienta de referencia para el análisis de datos, porque ofrece muchas funciones para organizar conjuntos de datos,…

14 2024 mayo

Lee Innovación en tu idioma

Boletín de innovación
No te pierdas las noticias más importantes sobre innovación. Regístrese para recibirlos por correo electrónico.

Síguenos