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

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

272

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 для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее