Controllers in Laravel- Manejo de la lógica de la aplicación y las interacciones de datos

Controllers son Laravel clases responsables de manejar la lógica de la aplicación y facilitar la interacción entre modelos y vistas. Controllers ayudar a separar la lógica de la aplicación de la interfaz de usuario, creando una estructura de proyecto clara y mantenible.

 

Crear controlador

Para crear un controlador en Laravel, puede usar Laravel el comando Artisan de. Por ejemplo, para crear un controlador llamado UserController, puede ejecutar el siguiente comando en la terminal:

php artisan make:controller UserController

Una vez que se crea el controlador, puede definir métodos de manejo dentro del controlador. Por ejemplo, en el index() método, puede recuperar datos de un modelo y pasarlos a una vista para su visualización:

namespace App\Http\Controllers;  
  
use App\Models\User;  
use Illuminate\Http\Request;  
  
class UserController extends Controller  
{  
    public function index()  
    {  
        $users = User::all();  
  
        return view('users.index', ['users' => $users]);  
    }  
  
    // Other handling methods  
}  

En el ejemplo anterior, usamos el User modelo para recuperar datos de usuario de la base de datos. Luego pasamos estos datos a la users.index vista para mostrar una lista de usuarios.

Controllers también admite métodos como store(), update() y delete() para manejar la creación, actualización y eliminación de datos. Puede interactuar con la base de datos a través de estos métodos.

 

HUsing controller en route

Para usar un controller in route, puede especificar el controller nombre y el método correspondiente en el routes/web.php archivo.

use App\Http\Controllers\UserController;  
  
Route::get('/users', [UserController::class, 'index']);  

En este ejemplo, cuando un usuario acceda a la /users URL, Laravel llamará al index() método para UserController manejar la solicitud.

 

Crear una vista para la pantalla de lista de usuarios

Para crear el users.index archivo, puede utilizar el siguiente comando:

php artisan make:view users.index

Este comando creará un index.blade.php archivo en el resources/views/users directorio.

Una vez que se crea el archivo, puede abrirlo index.blade.php y diseñar la interfaz para la users.index página. Puede usar la sintaxis de Blade para crear la estructura HTML y mostrar datos desde el controlador.

<!-- resources/views/users/index.blade.php -->  
@extends('layouts.app')  
  
@section('content')  
    <h1>Users</h1>  
    <ul>  
        @foreach($users as $user)  
            <li>{{ $user->name }}</li>  
        @endforeach  
    </ul>  
@endsection  

En el ejemplo anterior, usamos el app.blade.php diseño a través de @extends('layouts.app'). El contenido de la página se define dentro @section('content') y muestra una lista de usuarios de la $users variable dentro de un @foreach bucle.

Para usar la users.index página, debe definir la ruta correspondiente en el routes/web.php archivo para apuntar al método en el controlador y devolver la users.index vista.

 

En resumen, controllers en Laravel ayudar a separar la lógica de la aplicación y manejar el procesamiento de datos. Al usar controllers, puede crear aplicaciones potentes y fáciles de mantener en Laravel.