Изучение находчивых контроллеров маршрутов в Laravel 8

В Laravel 8 изобретательные контроллеры маршрутов предоставляют удобный способ определения маршрутов и обработки операций CRUD для изобретательной сущности в вашем приложении. В этой статье мы рассмотрим различные методы, доступные в Laravel 8 для изобретательных контроллеров маршрутов, а также приведем примеры кода.

  1. Метод индекса.
    Метод indexизвлекает все записи ресурса. Обычно он соответствует методу HTTP GET для индексной страницы ресурса.
// routes/web.php
Route::resource('products', 'ProductController');
// app/Http/Controllers/ProductController.php
public function index()
{
    $products = Product::all();
    return view('products.index', ['products' => $products]);
}
  1. Метод Create:
    Метод createвозвращает представление для создания нового ресурса. Он соответствует методу HTTP GET для страницы создания ресурса.
// app/Http/Controllers/ProductController.php
public function create()
{
    return view('products.create');
}
  1. Метод Store:
    Метод storeуправляет созданием нового ресурса. Он соответствует методу HTTP POST для хранения отправленных данных.
// app/Http/Controllers/ProductController.php
public function store(Request $request)
{
    $product = new Product();
    // Set the product attributes from the request data
    $product->name = $request->input('name');
    $product->price = $request->input('price');
    // Save the product
    $product->save();
    return redirect()->route('products.index');
}
  1. Метод Show:
    Метод showизвлекает и отображает определенный ресурс. Он соответствует методу HTTP GET для отображения сведений о ресурсе.
// app/Http/Controllers/ProductController.php
public function show($id)
{
    $product = Product::findOrFail($id);
    return view('products.show', ['product' => $product]);
}
  1. Метод редактирования.
    Метод editвозвращает представление для редактирования существующего ресурса. Он соответствует методу HTTP GET для страницы редактирования ресурса.
// app/Http/Controllers/ProductController.php
public function edit($id)
{
    $product = Product::findOrFail($id);
    return view('products.edit', ['product' => $product]);
}
  1. Метод обновления:
    Метод updateобрабатывает обновление существующего ресурса. Он соответствует методу HTTP PUT/PATCH для обновления ресурса отправленными данными.
// app/Http/Controllers/ProductController.php
public function update(Request $request, $id)
{
    $product = Product::findOrFail($id);
    // Update the product attributes from the request data
    $product->name = $request->input('name');
    $product->price = $request->input('price');
    // Save the updated product
    $product->save();
    return redirect()->route('products.index');
}
  1. Метод Destroy:
    Метод destroyуправляет удалением ресурса. Он соответствует методу HTTP DELETE для удаления ресурса.
// app/Http/Controllers/ProductController.php
public function destroy($id)
{
    $product = Product::findOrFail($id);
    $product->delete();
    return redirect()->route('products.index');
}

Находчивые контроллеры маршрутов в Laravel 8 обеспечивают лаконичный и организованный подход к обработке операций CRUD для ресурсов. Используя эти методы, вы можете легко создавать, читать, обновлять и удалять ресурсы в своем приложении.