WEB и WordPress новости, темы, плагины. Здесь мы делимся советами и лучшими решениями для сайтов.

Лучший способ создания контроллера Laravel для операций CRUD

254

Laravel работает с архитектурным шаблоном MVC (модель-представление-контроллер). Если вы запускаете приложение на платформе Laravel, вам необходимо создать модель, представление и контроллеры для своего приложения.

В Laravel можно создать контроллер и модель через интерфейс командной строки. Laravel artisan – это интерфейс командной строки, который предоставляет ряд команд, которые помогают нам в создании приложения. Мы можем и должны создать Контроллер с помощью команды 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()функцию в файле маршрута, мы должны добавить приведенный ниже код.

маршруты / web.php

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

Тот же процесс будет применяться для каждого дополнительного метода.

В этом потоке нет ничего плохого. Но это не рекомендуемый способ. Популярность Laravel объясняется несколькими причинами. Одна из причин – их мощные передовые команды ремесленников.

Лучший способ создания контроллера Laravel

В Laravel нам не нужно писать каждый метод и определять отдельный маршрут для каждого метода. Используя команду artisan, мы можем сгенерировать контроллер с предопределенными методами. И просто написав единственный маршрут, Laravel автоматически вызывает соответствующие методы.

Сказав это, откройте интерфейс командной строки в корневом каталоге вашего проекта и выполните следующую команду. Обратите внимание, на этот раз мы добавляем –resource в нашу команду 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)
    {
        //
    }
}

У нас есть такие методы, как index, create, store, show, edit, update, destroy автоматически. Вы можете прочитать комментарии к каждому методу, в которых объясняется, что делает каждый метод. Теперь укажем для него маршрут.

маршруты / web.php

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

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

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

Например, если вы используете URL-адрес YOUR_SITE_DOMAIN / pages с методом GET, он вызовет index()метод PageController.

Если вы хотите создать новую страницу, URL-адрес будет YOUR_SITE_DOMAIN / pages / create. Он вызывает create()метод, в котором вам нужно загрузить представление для создания новой страницы.

Когда вы отправляете форму с помощью method = “post” и action = “pages”, она вызывает store()метод.

И так далее.

Все дело в создании контроллера Laravel для операций CRUD. Пожалуйста, поделитесь своими мыслями в разделе комментариев ниже.

Статьи по Теме

Источник записи: artisansweb.net

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее