laravel 프레임 워 크 에서 컨트롤 러 생 성 및 사용 방법 분석

4241 단어 laravel컨트롤 러
이 사례 는 laravel 프레임 워 크 에서 컨트롤 러 의 생 성과 사용 방법 을 설명 합 니 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
laravel 에서 우 리 는 아 티 산 명령 을 사용 하여 컨트롤 러 파일 을 만 드 는 데 도움 을 줄 수 있 습 니 다.

php artisan make:controller TestController
TestController 컨트롤 러 이름 은 임의로 지정 할 수 있 습 니 다.파일 은 기본적으로 app\Http\Controllers 디 렉 터 리 에 생 성 됩 니 다.
컨트롤 러 파일 을 열 면 우 리 는 자신의 방법 을 추가 할 수 있 습 니 다.

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class TestController extends Controller
{
  public function test()
  {
    echo 'test...';
  }
}

루트 파일 routes/web.php 에 루트 를 설정 하면 접근 할 수 있 습 니 다.

Route::get('/test', 'TestController@test');

사용자 의 입력 을 어떻게 가 져 오 는 지,일반적으로 주입 에 의존 하 는 방식 으로 가 져 오 는 것 을 추천 합 니 다.

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class TestController extends Controller
{
  public function test(Request $request)
  {
    //        
    $data = $request->all();
    //        
    $id = $request->input('id');
  }
}

laravel 에서 restful 스타일 의 코드 를 작성 하 는 데 간단 한 방법 을 제공 합 니 다.컨트롤 러 명령 을 만 든 다음 에--resource 옵션 을 추가 하면 됩 니 다.

php artisan make:controller OrderController --resource

laravel 은 우리 가 지정 한 방법 을 만들어 서 각자 다른 의미 와 역할 을 표시 합 니 다.

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class OrderController extends Controller
{
  /**
   * Display a listing of the resource.
   *
   * @return \Illuminate\Http\Response
   */
  public function index()
  {
    //
  }
  /**
   * Show the form for creating a new resource.
   *
   * @return \Illuminate\Http\Response
   */
  public function create()
  {
    //
  }
  /**
   * Store a newly created resource in storage.
   *
   * @param \Illuminate\Http\Request $request
   * @return \Illuminate\Http\Response
   */
  public function store(Request $request)
  {
    //
  }
  /**
   * Display the specified resource.
   *
   * @param int $id
   * @return \Illuminate\Http\Response
   */
  public function show($id)
  {
    //
  }
  /**
   * Show the form for editing the specified resource.
   *
   * @param int $id
   * @return \Illuminate\Http\Response
   */
  public function edit($id)
  {
    //
  }
  /**
   * Update the specified resource in storage.
   *
   * @param \Illuminate\Http\Request $request
   * @param int $id
   * @return \Illuminate\Http\Response
   */
  public function update(Request $request, $id)
  {
    //
  }
  /**
   * Remove the specified resource from storage.
   *
   * @param int $id
   * @return \Illuminate\Http\Response
   */
  public function destroy($id)
  {
    //
  }
}

구체 적 인 방법의 역할 은 다음 과 같다.
HTTP 방법
URI
컨트롤 러 방법
경로 이름
역할 설명
GET
/order
index
order.index
모든 주문서 목록 보이 기
GET
/order/create
create
order.create
생 성 주문서 페이지 보이 기
POST
/order
store
order.store
제출 데 이 터 를 받 아 주문 서 를 만 듭 니 다.
GET
/order/{id}
show
order.show
단일 주문 정보 표시
GET
/order/{id}/edit
edit
order.edit
수정 주문서 페이지 보이 기
PUT/PATCH
/order/{id}
update
order.update
제출 데 이 터 를 접수 하고 주문 서 를 수정 하 다.
DELETE
/order/{id}
destroy
order.destroy
주문서 삭제
마지막 으로 우 리 는 Route:resource()를 통 해 위의 모든 경 로 를 연결 합 니 다.

Route::resource('order', 'OrderController');

바 인 딩 된 경로 목록 도 명령 을 통 해 볼 수 있 습 니 다.

php artisan route:list

Laravel 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 고 는 Laravel 프레임 워 크 를 바탕 으로 하 는 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기