Laravel 5.1 프레임 워 크 루트 기초 상세 설명

4729 단어 Laravel5.1경로
본 논문 의 사례 는 Laravel 5.1 프레임 워 크 경로 의 기 초 를 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
경로 가 무엇 입 니까?
큰 K 는 간단하게 말 하면 사용자 가 우리 프로그램 을 방문 하 는 입구 입 니 다.예 를 들 어 브 라 우 저 에 입력 하면 www.my blogs.com/create 에서 페이지 를 열 것 입 니 다.우 리 는 이 요청 을 받 은 후에 배경 에서 사용자 에 게 피드백 을 해 야 할 일이 있 습 니 다.
1 루트 의 실례
우선,laravel 의 경로 가 이 경로 에서 정 의 됩 니 다:app/Http/routes.php

/**
 *   Laravel           ,   localhost:8000(     artisan   )         
 */
Route::get('/', function () {
  return view('welcome');
});
/**
 *        get  
 *       localhost:8000/get       。
 */
Route::get('/get', function (){
  return '         get  ';
});
/**
 *        post  
 */
Route::get('/post', function (){
  return '         post  ';
});

비고:경로 방법 은 get 과 post 뿐만 아니 라 put,delete 등 실제 상황 에 따라 사용 할 수 있 습 니 다.
2 여러 경로 일치

/**
 *   match              , localhost:8000/hello   GET     POST  。
 */
Route::match(['get', 'post'], '/hello', function (){
  return 'hi~    K';
});
/**
 * any                。
 */
Route::any('/any', function (){
  return 'any        ';
});
3 루트 매개 변수
우 리 는 프로젝트 를 쓸 때 항상 경로 에서 파 라 메 터 를 캡 처 하여 나중에 처리 할 수 있 도록 해 야 합 니 다.어떻게 설명 하 시 겠 습 니까?계속 보 세 요.
3.1 필수 매개 변수

/**
 *                ,              。
 */
Route::get('/user/{id}', function ($id){
  return '           ID:' . $id;
});
3.2 선택 가능 한 매개 변수

/**
 *                   ,              。
 */
Route::get('/user/{id}/name/{name?}/descriptions/{description?}', function ($user_id, $user_name = 'K', $user_description = null){
  return '               :'.$user_id.'          :'.$user_name.'  :'.$user_description;
});
3.3 정규 제약 파라미터 사용
큰 K 는 위의 두 가지 예 에서 엄밀 하 게 쓰 이지 않 았 습 니 다.그 첫 번 째 예 를 들 어 말씀 드 리 겠 습 니 다.보통 id 는 정수 입 니 다.그러나 첫 번 째 예 에서 우 리 는 새 문 을 입력 해도 식별 할 수 있 습 니 다.우 리 는 꼬치 를 넣 어서 음식 을 가 려 야 합 니 다.

/**
 *                ,              。
 *      where  ,     id       。
 */
Route::get('/user/{id}', function ($id){
  return '           ID(         ):' . $id;
})->where('id','[0-9]+');
/**
 *            ,     where       。
 */
Route::get('/user/{id}/name/{name?}', function ($id, $name = 'k'){
  return '           ID(         ):' . $id . '  :' . $name;
})->where(['id' => '[0-9]+','name' => '[a-zA-Z]+']);
3.4 전역 제약(소 확장)
실제 개발 에서 일반적인 매개 변 수 는 ID 인 데 보통 정수 입 니 다.만약 에 우리 가 모든 경로 뒤에 where 를 따라 가면 더욱 짜증 나 지 않 습 니까?걱정 하지 마 세 요.한 걸음 에 도착 하 는 방법 이 있 습 니 다.app/providers/Route Service Provider.phop 파일 에 boot 방법 을 추가 하면 됩 니 다.

public function boot(Router $router)
{
  $router->pattern('id', '[0-9]+');
  parent::boot($router);
}
그리고 방금 예 를 수정 하 세 요.

Route::get('/user/{id}', function ($id){
  return '           ID(         ):' . $id;
});
Route::get('/user/{id}/name/{name?}', function ($id, $name = 'k'){
  return '           ID(         ):' . $id . '  :' . $name;
})->where('name','[A-Za-z]+');
4.경로 이름 지어 주기
왜 경로 의 이름 을 지어 야 합 니까?우 리 는 이런 장면 을 생각해 보 자.어떤 경로 에 들 어간 후에 우 리 는 데이터 베이스 에서 정 보 를 업데이트 해 야 한다.정보 가 업 데 이 트 된 후에 다른 경로 로 이동 해 야 한다.이 경로 의 경 로 는 localhost:8000/xxxx/sdfsa/xasfes/xaefsgd/xaeqwes/xadfase(그 렇 죠?나 는 마구 두 드 렸 습 니 다)설마 우리 가 수 동 으로 xxxx/sdfsa/xa 를 해 야 합 니까?아니면 copy 라 고 할 수 있 지만,우리 가 이 길 을 이름 을 지어 주 고,직접 이름 으로 뛰 어 다 니 는 것 이 좋 지 않 겠 습 니까?

/**
 *                                          
 */
Route::get('/user/{id}/name/{name}', function ($id, $name){
  //        
  // ...
  //   
  return redirect()->route('showUser',['name' => $name]);
})->where('name','[A-Za-z]+');
/**
 *       (      )
 *            as=>router_name        。
 */
Route::get('/admin/private/user/show/{name}', ['as' => 'showUser', function($name){
  return '            :'.$name;
}]);
Laravel 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 고 는 Laravel 프레임 워 크 를 바탕 으로 하 는 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기