✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Melhor maneira de criar um controlador Laravel para operações CRUD

107

O Laravel trabalha no padrão arquitetônico MVC (Model-View-Controller). Se você está executando uma aplicação no framework Laravel, então você deve criar o modelo, visão, controladores para sua aplicação.

No Laravel, pode-se criar um Controlador e Modelo através da interface de linha de comando. Laravel artisan é a interface de linha de comando que fornece uma série de comandos que nos ajudam na construção do aplicativo. Podemos e devemos criar um Controlador usando o comando artisan.

Crie um controlador Laravel

Digamos que você esteja trabalhando no back-end e deseje realizar operações CRUD nas páginas. Isso significa que você precisa construir um sistema para gerenciar páginas que inclui criar, recuperar, atualizar e excluir páginas. Claro, para esta tarefa, você precisa criar um controlador.

Normalmente, as pessoas executam o comando php artisan make:controller PageController. Este comando gera um arquivo PageController.phpno diretório app / Http / Controllers.

Nota: Você precisa executar este comando no diretório raiz de um projeto usando a interface da linha de comandos.

PageController.php

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

Neste controlador gerado, você precisa escrever métodos e definir as rotas de acordo. Para cada método, você deve escrever uma rota separada.

Por exemplo. vamos adicionar um método index()e definir uma rota para ele.

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

Para chamar esta index()função no arquivo de rota, devemos adicionar o código abaixo.

rotas / web.php

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

O mesmo processo se aplica a cada método adicional.

Não há nada de errado com esse fluxo. Mas esta não é a forma recomendada. Por trás da popularidade do Laravel, existem vários motivos. Um dos motivos são seus poderosos comandos artesanais avançados.

Melhor maneira de criar um controlador Laravel

No Laravel, não precisamos escrever cada método e definir uma rota separada para cada método. Usando o comando artisan podemos gerar um controlador com métodos pré-definidos. E apenas escrevendo uma única rota, o Laravel chama automaticamente os métodos apropriados.

Dito isso, abra sua interface de linha de comando no diretório raiz do seu projeto e execute o comando abaixo. Observe, desta vez estamos adicionando –resource ao nosso comando make: controller.

php artisan make:controller PageController --resource

Agora o gerado se PageController.phpparece com o abaixo.

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)
    {
        //
    }
}

Temos métodos como indexar, criar, armazenar, mostrar, editar, atualizar e destruir automaticamente. Você pode ler os comentários fornecidos para cada método, o que explica o que cada método faz. Agora vamos especificar a rota para isso.

rotas / web.php

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

Esta rota engenhosa criará várias rotas para lidar com ações diferentes. Agora, para obter os detalhes sobre as ações, execute o comando php artisan route:list. Para a rota de páginas, você verá a saída conforme mostrado na captura de tela.

Esta saída dá uma ideia do método HTTP, URL e qual método chamará no URL especificado.

Por exemplo, se você estiver executando um URL YOUR_SITE_DOMAIN / pages com o método GET, ele dará uma chamada ao index()método de um PageController.

Se você deseja criar uma nova página, o URL será YOUR_SITE_DOMAIN / pages / create. Ele dá uma chamada para o create()método em que você precisa carregar uma visualização para criar uma nova página.

Quando você envia um formulário com method = "post" e action = “pages”, ele dá uma chamada para o store()método.

E assim por diante.

É tudo sobre como criar um controlador Laravel para operações CRUD. Por favor, compartilhe suas idéias na seção de comentários abaixo.

Artigos relacionados

Fonte de gravação: artisansweb.net

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação