>  기사  >  PHP 프레임워크  >  Laravel에서 양식을 우아하게 처리

Laravel에서 양식을 우아하게 처리

藏色散人
藏色散人앞으로
2019-10-18 14:53:475084검색

Laravel 애플리케이션을 개발할 때 일반적으로 Laravel의 Form 폼을 우아하게 처리하고 재사용하는 방법과 관련하여 다음은 약간의 생활 경험입니다.

#🎜🎜 #Use Form Package# 🎜🎜#네이티브 HTML 코드를 작성하는 것이 실제로 더 읽기 쉽지만 실제로

Form Package

는 여전히 많은 편리함을 제공합니다. 예를 들어 Form:: model() 및 Form::select(). 예를 들어보세요. 사용자 이름을 추가하거나 업데이트해야 합니다.

다음과 유사한 코드 및 디렉터리 구조를 디자인할 수 있습니다.

// 位于 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>

위의 Form에 의해 생성된 HTML 코드는 다음과 같습니다:

<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>

Form::model() 메소드에서 $user 변수를 전달합니다. 이는 $user가 존재하는 경우를 의미합니다. 수동으로 작성할 필요 없이 name 속성의 값을 자동으로 채웁니다.

두 번째 요점은 $user를 Form::model()에 전달하므로 컨트롤러에서 다음과 같은 작은 트릭을 사용할 수 있다는 것입니다.

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]);
    }
}

이 경우, 편집 및 추가 시에는 이름 값이 있지만 추가 시에는 이름 값이 필요하지 않습니다. 따라서 전체 양식을 다음과 같이 작성할 수 있습니다.

// 位于 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>

그리고 끝났습니다!

Finally

여전히 같은 문장: 양식을 처리할 때 여전히 고려할 수 있습니다.

Form Package

, 특히 221f08282418e2996498697df914ce4e를 다룰 때 Form Package를 놓치게 됩니다. 더 많은 Laravel 관련 기술 기사를 보려면

Laravel 프레임워크 시작 튜토리얼

컬럼을 방문하여 알아보세요!

위 내용은 Laravel에서 양식을 우아하게 처리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 codecasts에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제