> 백엔드 개발 > PHP 튜토리얼 > Laravel5 프레임워크의 하위 뷰 및 양식 재사용 분석

Laravel5 프레임워크의 하위 뷰 및 양식 재사용 분석

不言
풀어 주다: 2023-04-01 06:42:02
원래의
1256명이 탐색했습니다.

이 글은 주로 Laravel5 프레임워크의 하위 뷰 사용법과 양식 재사용을 소개합니다. 매우 상세하고 포괄적이므로 Laravel5 프레임워크를 익히는 데 매우 도움이 됩니다. 기사에 대한 질문 편집에 관한 질문입니다. 물론 다음과 같이 새 경로를 수동으로 추가할 수 있습니다.

Route::get('/articles/{id}/edit', 'ArticleController@edit');
로그인 후 복사

명령줄에서 artisan의 경로:목록을 사용하여 현재 경로를 확인합니다.

php artisan route:list
로그인 후 복사

RESTful 준수의 경우 laravel을 직접 사용할 수 있습니다. 라우팅은 좋은 선택이지만 모든 경로를 제거하고 하나만 추가하겠습니다.

Route::resource('articles', 'ArticlesController');
로그인 후 복사

php artisan Route:list를 다시 사용하여 경로를 확인하세요. 와, 우리 기대에 맞는 경로가 많이 생성되었습니다. 각 항목을 주의 깊게 살펴보세요. 질문 반복해야합니까? 이 문제는 나중에 다루겠습니다. 이제 양식 제출 문제를 살펴보겠습니다. php artisan Route:list 경로에서 다시 살펴보세요. 수정은 PATCH 메서드를 사용합니다. 보기를 수정해 보겠습니다.

  public function edit($id) {
    $article = Article::findOrFail($id);

    return view('articles.edit', compact('article'));
  }
로그인 후 복사

브라우저에서 /articles/1/edit를 방문하여 소스 코드를 확인하고 laravel이 자동으로 생성된 것을 찾으세요. method=PATCH의 숨겨진 필드입니다.

첫 번째 문제는 기사를 편집했지만 기사의 정보가 표시되지 않는다는 것입니다. 보기를 수정해 보겠습니다.

@extends('layout')

@section('content')
  <h1>Edit: {!! $article->title !!} </h1>

  <hr/>

  ...
로그인 후 복사

좋아, 게시된_on 필드가 여전히 현재 날짜로 설정되어 있다는 점만 빼면 괜찮습니다. 나중에 처리하세요.

이제 컨트롤러에 메소드를 추가하세요.

{!! Form::open([&#39;method&#39; => &#39;PATCH&#39;, &#39;url&#39; => &#39;articles/&#39; . $article->id]) !!}
로그인 후 복사

또한 Request 클래스를 재사용하고 CreateArticleRequest의 이름을 보다 일반적인 ArticleRequest로 바꾸도록 하겠습니다. 메소드의 매개변수.

 {!! Form::model($article, [&#39;method&#39; => &#39;PATCH&#39;, &#39;url&#39; => &#39;articles/&#39; . $article->id]) !!}
로그인 후 복사

이제 남은 문제는 새로운 코드와 편집 코드가 표시 오류 등 대부분 동일한 코드를 사용하지만 복사본이 두 개 있다는 점입니다. 이 문제를 해결해 보겠습니다.

view/articles 바로 아래에 새 파일 list.blade.php를 만들고 create.blade.php에서 오류 처리 코드를 복사합니다.

  public function update($id, \Illuminate\Http\Request $request) {
    $article = Article::findOrFail($id);
    $article->update($request->all());

    return redirect(&#39;articles&#39;);
  }
로그인 후 복사

create.blade.php에서 다음 문을 사용하세요. 오류 처리 코드 교체:

  public function update($id, Requests\ArticleRequest $request) {
    $article = Article::findOrFail($id);
    $article->update($request->all());

    return redirect(&#39;articles&#39;);
  }
로그인 후 복사

양식 코드를 다시 다루겠습니다. 양식이 다르고 제출 버튼이 다르다는 점만 제외하면 양식 코드가 거의 동일합니다. 기사/form_partial.blade.php 보기를 만들고 코드를 복사합니다.

@if ($errors->any())
  <ul class="alert alert-danger">
    @foreach($errors->all() as $error)
      <li>{{ $error }}</li>
    @endforeach
  </ul>
@endif
로그인 후 복사

수정 create.blade.php

@include(&#39;articles.list&#39;)
로그인 후 복사

수정 edit.blade.php

<p class="form-group">
  {!! Form::label(&#39;title&#39;, &#39;Title:&#39;) !!}
  {!! Form::text(&#39;title&#39;, null, [&#39;class&#39; => &#39;form-control&#39;]) !!}
</p>

<p class="form-group">
  {!! Form::label(&#39;body&#39;, &#39;Body:&#39;) !!}
  {!! Form::textarea(&#39;body&#39;, null, [&#39;class&#39; => &#39;form-control&#39;]) !!}
</p>

<p class="form-group">
  {!! Form::label(&#39;published_at&#39;, &#39;Publish On:&#39;) !!}
  {!! Form::input(&#39;date&#39;, &#39;published_at&#39;, date(&#39;Y-m-d&#39;), [&#39;class&#39; => &#39;form-control&#39;]) !!}
</p>

<p class="form-group">
  {{--这里要设置变量,依据是编辑还是修改来改变,当然也可以不放置在partial中--}}
  {!! Form::submit($submitButtonText, [&#39;class&#39; => &#39;btn btn-primary form-control&#39;]) !!}
</p>
로그인 후 복사

은 위의 것입니다. 이 글의 전체 내용이 모든 분들의 학습에 도움이 되기를 바랍니다. 더 많은 관련 내용을 보시려면 PHP 중국어 웹사이트를 주목해주세요!

관련 권장 사항:

Laravel 4의 페이지 및 양식 유효성 검사

Laravel 프레임워크 데이터베이스의 CURD 작업 및 일관된 작업 분석 정보

PHP 프레임워크를 사용하여 사용자 정의 페이징을 구현하는 방법 정보 Laravel 플러그인 페이지 매김


위 내용은 Laravel5 프레임워크의 하위 뷰 및 양식 재사용 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿