✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Lepszy sposób tworzenia kontrolera Laravel dla operacji CRUD

125

Laravel pracuje nad wzorcem architektonicznym MVC (Model-View-Controller). Jeśli uruchamiasz aplikację na frameworku Laravel, musisz stworzyć model, widok, kontrolery dla swojej aplikacji.

W Laravel można stworzyć kontroler i model za pomocą interfejsu wiersza poleceń. Laravel artisan to interfejs wiersza poleceń, który udostępnia szereg poleceń, które pomagają nam w budowaniu aplikacji. Możemy i powinniśmy stworzyć kontroler za pomocą polecenia artisan.

Utwórz kontroler Laravel

Załóżmy, że pracujesz na zapleczu i chcesz wykonywać operacje CRUD na stronach. Oznacza to, że musisz zbudować system do zarządzania stronami, który obejmuje tworzenie, pobieranie, aktualizowanie i usuwanie stron. Oczywiście do tego zadania musisz stworzyć kontroler.

Zwykle ludzie uruchamiają polecenie php artisan make:controller PageController. To polecenie generuje plik PageController.phpw katalogu app/Http/Controllers.

Uwaga: Musisz uruchomić to polecenie w katalogu głównym projektu za pomocą interfejsu wiersza poleceń.

PageController.php

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

W tym wygenerowanym kontrolerze musisz napisać metody i odpowiednio zdefiniować trasy. Dla każdej metody musisz napisać osobną trasę.

Na przykład. dodajmy jedną metodę index()i zdefiniujmy dla niej trasę.

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

Aby wywołać tę index()funkcję w pliku trasy, należy dodać poniższy kod.

trasy/web.php

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

Ten sam proces będzie miał zastosowanie dla każdej dodatkowej metody.

Nie ma nic złego w tym przepływie. Ale to nie jest zalecany sposób. Za popularnością Laravela jest kilka powodów. Jednym z powodów są potężne, zaawansowane polecenia rzemieślników.

Lepszy sposób tworzenia kontrolera Laravel

W Laravelu nie musimy pisać każdej metody i definiować osobnej trasy dla każdej metody. Za pomocą polecenia artisan możemy wygenerować sterownik za pomocą predefiniowanych metod. I po prostu pisząc pojedynczą trasę Laravel automatycznie wywołuje odpowiednie metody.

Powiedziawszy to, otwórz interfejs wiersza poleceń w katalogu głównym swojego projektu i uruchom poniższe polecenie. Uwaga, tym razem do naszego polecenia make:controller dodajemy –resource.

php artisan make:controller PageController --resource

Teraz wygenerowany PageController.phpwygląda jak poniżej.

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

Mamy metody takie jak indeksowanie, tworzenie, przechowywanie, wyświetlanie, edycja, aktualizacja, automatyczne niszczenie. Możesz przeczytać komentarze dostarczone dla każdej metody, które wyjaśniają, co robi każda metoda. Teraz określmy dla niego trasę.

trasy/web.php

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

Ta zaradna trasa utworzy wiele tras do obsługi różnych działań. Teraz, aby uzyskać szczegółowe informacje o akcjach, uruchom polecenie php artisan route:list. W przypadku trasy stron zobaczysz dane wyjściowe, jak pokazano na zrzucie ekranu.

To wyjście daje wyobrażenie o metodzie HTTP, adresie URL oraz o tym, która metoda zostanie wywołana na określonym adresie URL.

Na przykład, jeśli używasz adresu URL TWOJA_WITRYNA/DOMAIN/stron za pomocą metody GET, wywoła on index()metodę kontrolera stron.

Jeśli chcesz utworzyć nową stronę, adres URL to Twoja_SITE_DOMAIN/strony/utwórz. Daje wywołanie create()metody, w której musisz załadować widok w celu utworzenia nowej strony.

Kiedy przesyłasz formularz z method="post" i action="pages", wywołuje on store()metodę.

I tak dalej.

Wszystko sprowadza się do stworzenia kontrolera Laravel do operacji CRUD. Podziel się swoimi przemyśleniami w sekcji komentarzy poniżej.

Powiązane artykuły

Źródło nagrywania: artisansweb.net

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów