Heim > PHP-Framework > Laravel > Hauptteil

Behandeln Sie Form-Formulare elegant in Laravel

藏色散人
Freigeben: 2019-10-23 22:59:55
nach vorne
5067 Leute haben es durchsucht

Bei der Entwicklung von Laravel-Anwendungen geht es normalerweise um die Formularverarbeitung und die elegante Verarbeitung und Wiederverwendung von Laravel-Formularen. Folgendes ist eine kleine Lebenserfahrung:

Formularpaket verwenden

Obwohl das Schreiben von nativem HTML-Code in der Tat besser lesbar ist, bringt uns Form Package tatsächlich immer noch viel Komfort, wie zum Beispiel die Verwendung von Form::model() und Form::select().

Stellen Sie sich ein Beispiel vor: Wir müssen den Benutzernamen eines Benutzers hinzufügen oder aktualisieren

Wir können Code und Verzeichnisstruktur ähnlich wie folgt entwerfen:

// 位于 resources/views/users/edit.blade.php
{!! Form::model($user, ['route' => ['users.update', $user->id], 'method' => 'put']) !!}
    @include('users._form')
    // Your cancel / update buttons
{!! Form::close() !!}
// 位于 resources/views/users/_form.blade.php
<div class="form-group">
    {!! Form::label(&#39;name&#39;, &#39;Name&#39;) !!}
    {!! Form::text(&#39;name&#39;) !!}
</div>
Nach dem Login kopieren

Der vom obigen Formular generierte HTML Der Code sieht wahrscheinlich so aus:

<form method="POST" action="http://example.com/users/1" accept-charset="UTF-8">
    <input name="_token" type="hidden" value="Q5oILhAr92pVqfE0ZSSXjSdJuUi09DVSPWweHQlq">
    <input name="_method" type="hidden" value="PUT">
    <div class="form-group"> 
        <label for="name">Name</label>
        <input name="name" type="text" value="Michael">
    </div>
</form>
Nach dem Login kopieren

Beachten Sie, dass wir in der Form::model()-Methode die Variable $user übergeben haben, was bedeutet: Wenn $user einen Wert des Namensattributs hat, wird das Formular dies tun Dieser Wert wird automatisch ausgefüllt, ohne dass wir ihn manuell eingeben müssen.

Der zweite Punkt ist, dass wir, da wir $user an Form::model() übergeben, diesen kleinen Trick im Controller verwenden können:

class UserController extends Controller
{
    public function create()
    {
        return view(&#39;users.create&#39;, [&#39;user&#39; => new User]);
    }
    public function edit(User $user)
    {
        return view(&#39;users.edit&#39;, [&#39;user&#39; => $user]);
    }
}
Nach dem Login kopieren

In diesem Fall werden Sie dort sein Kein Konflikt beim Bearbeiten und Hinzufügen. Beim Bearbeiten und Aktualisieren gibt es einen Namenswert, beim Hinzufügen ist jedoch kein Namenswert erforderlich. Wir können das gesamte Formular also so schreiben:

// 位于 resources/views/users/_form.blade.php
<div class="form-group">
    <label for="name">Name</label>
    <input type="text" name="name" value="{{ old(&#39;name&#39;, $user->name) }}" class="form-control">
</div>
Nach dem Login kopieren

Und du bist fertig!

Endlich

Immer noch derselbe Satz: Sie können bei der Verarbeitung von Formularen immer noch Formularpaket berücksichtigen, insbesondere wenn Sie mit Formularpaket vermissen.

Weitere technische Artikel zu Laravel finden Sie in der Spalte Einführungs-Tutorial zum Laravel-Framework, um mehr darüber zu erfahren!

Das obige ist der detaillierte Inhalt vonBehandeln Sie Form-Formulare elegant in Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:codecasts
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!