✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Кращий спосіб створення контролера Laravel для CRUD-операцій

57

Laravel працює над архітектурним зразком MVC (Model-View-Controller). Якщо ви запускаєте програму на фреймворку Laravel, то вам потрібно створити модель, подання, контролери для своєї програми.

У Laravel можна створити контролер та модель через інтерфейс командного рядка. Laravel artisan – це інтерфейс командного рядка, який надає ряд команд, які допомагають нам у побудові програми. Ми можемо і повинні створити контролер за допомогою команди ремісника.

Створіть контролер Laravel

Скажімо, ви працюєте з бек-ендом і хочете виконувати CRUD-операції на сторінках. Це означає, що вам потрібно побудувати систему управління сторінками, яка включає створення, отримання, оновлення та видалення сторінок. Звичайно, для цього завдання потрібно створити контролер.

Зазвичай люди виконують команду php artisan make:controller PageController. Ця команда генерує файл у каталозі PageController.phpapp / Http / Controllers.

Примітка: Вам потрібно запустити цю команду в кореневому каталозі проекту за допомогою інтерфейсу командного рядка.

PageController.php

<?php
 
namespace AppHttpControllers;
 
use IlluminateHttpRequest;
 
class PageController extends Controller
{
    //
}

У цьому згенерованому контролері вам потрібно написати методи і відповідно визначити маршрути. Для кожного методу потрібно написати окремий маршрут.

Наприклад. давайте додамо один метод index()і визначимо для нього маршрут.

<?php
 
namespace AppHttpControllers;
 
use IlluminateHttpRequest;
 
class PageController extends Controller
{
    public function index() {
        //do operations here
    }
}

Щоб викликати цю index()функцію у файлі маршруту, слід додати наведений нижче код.

routes / web.php

Route::get('pages', 'PageController@index');

Для кожного додаткового методу застосовуватиметься однаковий процес.

У цьому потоці немає нічого поганого. Але це не рекомендується. За популярністю Laravel є кілька причин. Однією з причин є їх потужні передові команди ремісників.

Кращий спосіб створення контролера Laravel

У Laravel нам не потрібно писати кожен метод і визначати окремий маршрут для кожного методу. За допомогою команди artisan ми можемо створити контролер із заздалегідь визначеними методами. І просто написавши один маршрут, Laravel автоматично викликає відповідні методи.

Сказавши це, відкрийте інтерфейс командного рядка в кореневому каталозі вашого проекту та запустіть наведену нижче команду. Зверніть увагу, цього разу ми додаємо –ресурс до нашої команди make: controller.

php artisan make:controller PageController --resource

Тепер згенерований PageController.phpвиглядає так, як показано нижче.

PageController.php

<?php
 
namespace AppHttpControllers;
 
use IlluminateHttpRequest;
 
class PageController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return IlluminateHttpResponse
     */
    public function index()
    {
        //
    }
 
    /**
     * Show the form for creating a new resource.
     *
     * @return IlluminateHttpResponse
     */
    public function create()
    {
        //
    }
 
    /**
     * Store a newly created resource in storage.
     *
     * @param  IlluminateHttpRequest  $request
     * @return IlluminateHttpResponse
     */
    public function store(Request $request)
    {
        //
    }
 
    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function show($id)
    {
        //
    }
 
    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function edit($id)
    {
        //
    }
 
    /**
     * Update the specified resource in storage.
     *
     * @param  IlluminateHttpRequest  $request
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function update(Request $request, $id)
    {
        //
    }
 
    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return IlluminateHttpResponse
     */
    public function destroy($id)
    {
        //
    }
}

Ми отримали такі методи, як автоматичне індексування, створення, зберігання, показ, редагування, оновлення, знищення. Ви можете прочитати коментарі, надані до кожного методу, де пояснюється, що робить кожен метод. А тепер давайте визначимо маршрут для нього.

routes / web.php

Route::resource('pages', 'PageController');

Цей винахідливий маршрут створить кілька маршрутів для обробки різних дій. Тепер, щоб отримати детальну інформацію про дії, запустіть команду php artisan route:list. Для маршруту сторінок ви побачите результат, як показано на скріншоті.

Цей результат дає уявлення про метод HTTP, URL-адресу та спосіб, який буде викликати вказану URL-адресу.

Наприклад, якщо ви використовуєте URL-адресу YOUR_SITE_DOMAIN / сторінки за допомогою методу GET, тоді це дасть виклик index()методу PageController.

Якщо ви хочете створити нову сторінку, URL буде YOUR_SITE_DOMAIN / pages / create. Він викликає create()метод, де вам потрібно завантажити подання для створення нової сторінки.

Коли ви надсилаєте форму з методом = "post" і action = "pages”, це викликає store()метод.

І так далі.

Вся справа у створенні контролера Laravel для CRUD-операцій. Будь ласка, поділіться своїми думками в розділі коментарів нижче.

Пов’язані статті

Джерело запису: artisansweb.net

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі