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.