routes laravel 11

Created at: 2022-08-04 15:22:00 | Updated at: 2024-08-29 12:38:29

EXEMPLE RUTES PROJECTE ADMINISTRACIO:

<?php

use Illuminate\Support\Facades\Route;

use App\Http\Controllers\MyTestController;
use App\Http\Controllers\PostController;
use App\Http\Controllers\PostFinanzaController;
use App\Http\Controllers\GalleryController;
use App\Http\Controllers\Galleryb5Controller;
use App\Http\Controllers\RouteController;

use App\Models\Post;

Route::get('/linkstorage', function () {
    Artisan::call('storage:link');
});

Route::get('/inici', [PostController::class, 'inici'])->name('inici');
Route::get('/posts/create', [PostController::class, 'create'])->name('posts.create');
Route::post('/posts/store', [PostController::class, 'store'])->name('posts.store');
Route::get('/posts/datatables', [PostController::class, 'getPosts'])->name('posts.datatables');
Route::get('/posts/edit/{id}', [PostController::class, 'edit'])->name('posts.edit');
Route::put('/posts/update/{id}', [PostController::class, 'update'])->name('posts.update');
Route::delete('/posts/delete/{id}', [PostController::class, 'destroy'])->name('posts.destroy');
Route::get('/', [PostController::class, 'indexGallery'])->name('posts.gallery');

Route::get('/gallery', [GalleryController::class, 'index'])->name('gallery.index');
Route::get('/gallery/detalle/{title}', [GalleryController::class, 'detalle'])->name('gallery.detalle');

Route::get('/posts', [PostController::class, 'index'])->name('posts.index');
Route::get('/category/{id}', [PostController::class, 'filterByCategory'])->name('posts.category');
Route::get('/etiqueta/{id}', [PostController::class, 'filterByEtiqueta'])->name('posts.etiqueta');

Route::get('/posts/category/{id}', [PostController::class, 'filterByCategory'])->name('posts.category');
Route::get('/posts/etiqueta/{id}', [PostController::class, 'filterByEtiqueta'])->name('posts.etiqueta');
Route::get('/posts/detalle/{id}', [PostController::class, 'detalle'])->name('posts.detalle');

Route::get('/welcome', function () {
    return view('welcome');
});

Route::get('/example', function () {
    // Ejecutar una consulta simple para obtener todos los posts ordenados alfabéticamente por título
    $posts = Post::orderBy('title', 'asc')->get();

    // Retornar una vista con los resultados
    return view('example', ['posts' => $posts]);
})->name('example');


Route::get('/conexio', function () {
    return view('exemples_php.conexio');
});

Route::get('/array', function () {
    return view('exemples_php.array');
});


Route::get('/swiper', [PostController::class, 'swiperIndex'])->name('swiper.index');
Route::get('/project-gallery', [PostController::class, 'projectGallery'])->name('project.gallery');

Route::get('/welcome', function () {
    return view('welcome');
});

Route::get('/routes', [RouteController::class, 'index']);
Route::view('/list-routes', 'list-routes');

Route::middleware([
    'auth:sanctum',
    config('jetstream.auth_session'),
    'verified',
])->group(function () {
    Route::get('/dashboard', function () {
        return view('dashboard');
    })->name('dashboard');
});

Conceptos Básicos de Rutas en Laravel 11

  1. Definición de Rutas: En Laravel, las rutas se definen en archivos de rutas, que se encuentran en el directorio routes. Los principales archivos de rutas son:
    • web.php: Para rutas que responden a solicitudes del navegador (generalmente HTML).
    • api.php: Para rutas que responden a solicitudes de APIs (generalmente JSON).
    • console.php: Para comandos de la consola.
    • channels.php: Para configurar los canales de comunicación en tiempo real usando Laravel Echo.
  2. Métodos HTTP: Laravel ofrece métodos específicos para definir rutas que responden a diferentes verbos HTTP:
    • get: Para solicitudes GET.
    • post: Para solicitudes POST.
    • put: Para solicitudes PUT.
    • delete: Para solicitudes DELETE.
    • patch: Para solicitudes PATCH.
    • options: Para solicitudes OPTIONS.
  3. Ejemplo de una ruta básica en web.php:
  4. Route::get('/users', [UserController::class, 'index']);
  5. Rutas con Parámetros: Puedes definir rutas con parámetros dinámicos, lo que permite que una ruta pueda recibir valores variables:
  6. Route::get('/user/{id}', [UserController::class, 'show']);
  7. Aquí {id} es un parámetro dinámico que se puede capturar en el controlador.
  8. Rutas con Opcionalidad: También es posible que ciertos parámetros sean opcionales:
  9. Route::get('/user/{name?}', [UserController::class, 'show']);
  10. En este caso, name es un parámetro opcional.
  11. Agrupación de Rutas: Laravel permite agrupar rutas que comparten características comunes, como middleware o prefijos en la URL:
  12. Route::prefix('admin')->middleware('auth')->group(function () {
        Route::get('/dashboard', [AdminController::class, 'dashboard']);
        Route::get('/users', [AdminController::class, 'users']);
    });
  13. Este ejemplo muestra cómo agrupar rutas bajo el prefijo admin y aplicar el middleware auth a todas ellas.
  14. Controladores de Rutas: Laravel 11 sigue promoviendo el uso de controladores para manejar la lógica de las rutas, separando la lógica de negocio de la definición de rutas. Esto hace que el código sea más limpio y mantenible.
  15. Rutas de API: Laravel ofrece un archivo específico para rutas de API (api.php) y tiene características como la posibilidad de aplicar automáticamente el prefijo api y el middleware auth:sanctum para autenticación mediante tokens.

Novedades en Laravel 11 para Rutas

Aunque Laravel 11 sigue siendo coherente con las versiones anteriores, se espera que introduzca mejoras en cuanto a rendimiento, nuevas funcionalidades y posibles simplificaciones en la manera de definir rutas. Algunas de las áreas donde podría haber mejoras incluyen:

Laravel continúa evolucionando, y las rutas, siendo una parte fundamental del framework, se adaptan para ofrecer más potencia y flexibilidad a los desarrolladores.

No valid image directory found or the category is not valid for the gallery.

Back to Posts
routes laravel 11

Title

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.