경로는 애플리케이션에 대한 요청 URL을 생성하는 방법입니다. 이러한 URL은 웹 사이트의 특정 파일과 연결될 필요가 없으며 사람이 읽을 수 있고 SEO 친화적입니다.
Laravel에서 경로는 파일 폴더 안에 생성됩니다. routes
. 그들은 파일에 생성됩니다 web.php
웹 사이트 및 내 api.php
API용.
이들 route
그룹에 할당됩니다. middleware
네트워크, 세션 상태 및 보안 강조 표시 CSRF
. 의 경로 route/api.php
상태 비저장이며 API 미들웨어 그룹에 할당됩니다.
사전 설치defiLaravel nita에는 웹용과 API용의 두 가지 경로가 있습니다. 웹 인의 경로는 다음과 같습니다. web.php
:
Route::get('/', function () {
return view('welcome');
});
모든 Laravel 경로는 defi디렉토리 내에 있는 경로 파일의 niti routes
. 경로 관리 응용 프로그램, defi파일에서 완성 App\Providers\RouteServiceProvider
, 이러한 파일을 자동으로 정렬합니다. 파일 route/web.php
defi웹 인터페이스의 경로를 완료합니다.
È 가능성 defi다음과 같이 이 컨트롤러 작업의 경로를 완료합니다.
Route::get(‘user/{id}’, ‘UserController@show’);
Route::resource
: 방법 Route::resource
애플리케이션에 필요한 모든 기본 경로를 생성하고 컨트롤러 클래스를 통해 관리됩니다.
요청이 지정된 경로 URI와 일치하면 메서드가 호출됩니다. show
defi컨트롤러에서 완료 App\Http\ControllersUserController
, 메서드에 경로 매개 변수를 전달합니다.
리소스의 경우 애플리케이션에서 두 가지 작업을 수행해야 합니다. Laravel. 먼저 리소스 경로를 생성해야 합니다. Laravel 삽입, 업데이트, 보기 및 삭제 경로를 제공합니다. 둘째, 삽입, 업데이트, 보기 및 삭제를 위한 메서드를 제공하는 리소스 컨트롤러를 만듭니다.
사전 설치defiLaravel nita는 두 가지 경로를 제공합니다. 하나는 웹용이고 다른 하나는 API용입니다. web.php에서 웹으로의 경로는 다음과 같습니다.
Route::get(‘/’, function () {
return view(‘welcome’);
});
라라벨 미들웨어 요청과 반응 사이의 다리 역할을 합니다. 일종의 필터 구성 요소 일 수 있습니다.
Laravel 작업 미들웨어 클라이언트 응용 프로그램이 검증되었는지 여부를 확인하는 작업이 있습니다. 클라이언트가 확인되면 라우팅이 홈 페이지 또는 로그인 페이지로 리디렉션됩니다.
route
이전 코드 defi홈 페이지에 대한 경로를 완료합니다. 이 경로가 요청을 받을 때마다 get
용 /
, 반환합니다 view
welcome
.
모든 Laravel 경로는 defi당신의 니티 routing
, dei 디렉토리 안에 있습니다. routes
. 따라서, l'AppProvidersRouteServiceProvider
응용 프로그램의 이러한 레코드를 정렬합니다. 파일 route/web.php
웹 인터페이스에 대해 관리되는 경로를 포함합니다.
경로 구조는 매우 간단합니다. 적절한 파일을 엽니다(`web.php
` o `api.php
` ) 다음으로 코드 줄을 시작하십시오. `Route:: `
, 해당 특정 경로에 할당하려는 요청 다음에 요청 다음에 수행할 기능을 지정합니다.
라라벨은 다음과 같은 경로 메소드를 제공합니다:
get
post
put
delete
patch
options
경로는 defiHTTP, 회신할 경로 및 닫기 또는 컨트롤러를 사용하여 Route 클래스 내의 Laravel에서 니트됩니다.
Laravel에서 자신만의 경로를 만드는 방법을 살펴보겠습니다.
이제 2의 시간표를 인쇄할 기본 경로를 만들겠습니다.
Route::get('/table', function () {
for($i =1; $i <= 10 ; $i++){
echo "$i * 2 = ". $i*2 ."<br>";
}
});
위의 코드에서 URL에 대한 GET 요청 경로를 만들었습니다. /table
, 화면에 2의 시간표를 인쇄합니다.
이제 구구단에서 원하는 숫자를 매개변수화하는 동일한 코드를 살펴보겠습니다.
Route::get('/table/{number}', function ($number) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
});
코드에서 'number
중괄호 사이의 '는 매개변수, 즉 구구단이 계산될 숫자를 나타냅니다. 유형의 URL이 지정될 때마다 /table/n
, 다음 번호 테이블이 인쇄됩니다 n
.
두 기능을 하나의 경로에 결합하는 방법도 있습니다. Laravel은 물음표 '?'를 사용하여 선택적 매개변수를 추가할 수 있는 선택적 매개변수 기능을 제공합니다. 선택적 매개변수 및 사전 값 뒤에defi밤. 예를 보자:
Route::get('/table/{number?}', function ($number = 2) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
});
위의 코드에서 우리는 경로 매개변수를 생성하여 숫자를 선택 사항으로 만들었습니다./table
` 그러면 기본적으로 2개의 테이블이 생성됩니다.definite 및 사용자가 `/table/{number}
그런 다음 숫자 테이블 'number'
생산됩니다.
이전 예에서 우리는 구구단을 생성하기 위한 경로를 만들었지만 구구단을 생성할 때 오류를 방지하기 위해 경로의 매개 변수가 실제로 숫자인지 어떻게 확인할 수 있습니까?
라라벨에서는 다음을 수행할 수 있습니다. defi` 메서드를 사용하여 경로 매개변수에 대한 제약 조건을 완료합니다.where
` 경로 인스턴스에서. `where
`는 매개변수 이름과 해당 매개변수에 대한 정규식을 사용합니다.
이제 ` 매개변수에 대한 제약 조건의 예를 살펴보겠습니다.{numero}
` 함수에 숫자만 전달되도록 합니다.
Route:: get ( '/table/{numero?}' , funzione ( $numero = 2 ) {
for( $i = 1 ; $i < = 10 ; $i + + ) {
echo "$i * $numero = " . $i * $numero . "<br>" ;
}
} )->where( 'numero' , '[0-9]+' ) ;
위의 코드에서는 경로 번호에 정규식을 사용했습니다. 이제 사용자가 /테이블/아니오 표시됩니다 NotFoundHttpException 예외.
라라벨에서는 다음을 수행할 수 있습니다. defi경로에 대한 컨트롤러 메서드를 완료합니다. 컨트롤러 메서드는 모든 작업을 수행합니다. defi사용자가 경로에 액세스할 때마다 nite.
다음 코드를 사용하여 컨트롤러 메서드를 할당합니다. 'functionname'
경로로:
Route:: get ( '/home' , 'YourController@functionname' ) ;
코드는 `Route::`
그리고 defi경로에 대한 요청 방법을 종료합니다. 그후, defi메서드 이름 앞에 @ 기호를 추가하여 메서드와 함께 경로 및 컨트롤러를 완료합니다.
라라벨에서는 다음을 수행할 수 있습니다. defi경로의 이름을 지정하십시오. 이 이름은 종종 매우 유용합니다. 예를 들어 한 위치에서 다른 위치로 사용자를 리디렉션하려는 경우 defi전체 리디렉션 URL을 완료합니다. 당신은 그의 이름을 줄 수 있습니다. 당신은 할 수 있습니다 defi` 메소드를 사용하여 경로 이름을 완료하십시오.name
` 경로 인스턴스에서.
Route::get('/table/{number?}', function ($number = 2) {
for($i =1; $i <= 10 ; $i++){
echo "$i * $number = ". $i* $number ."<br>";
}
})->where('number', '[0-9]+')->name(‘table’);
이제 다음 코드를 통해 이 경로의 URL을 다시 생성할 수 있습니다.
$url = route('table');
마찬가지로 이 URL로 리디렉션하는 경우 올바른 구문은 다음과 같습니다.
return redirect()->route('table');
Route Groups
I Route Groups
, 문자 그대로 경로 그룹은 Laravel의 필수 기능으로, 경로를 그룹화할 수 있습니다. 경로 그룹은 그룹화된 모든 경로에 특성을 적용하려는 경우에 유용합니다. 경로 그룹을 사용하는 경우 각 경로에 특성을 개별적으로 적용할 필요가 없습니다. 이것은 중복을 방지합니다. 다음과 같은 속성을 공유할 수 있습니다. middleware
o namespaces
, 센자 defi각 개별 경로에서 이러한 속성을 완료합니다. 이러한 공유 속성은 메소드의 첫 번째 매개변수로 배열 형식으로 전달될 수 있습니다. Route::group
.
경로 그룹의 구문
Route::group([], callback);
비둘기 [ ]: 첫 번째 매개 변수로 그룹 메서드에 전달되는 배열입니다.
의 예 Route Group
nel 웹.php
Route::group([], function()
{
Route::get('/first' , function()
{
echo "first way route" ;
});
Route::get('/second' , function()
{
echo "second way route" ;
});
Route::get('/third' , function()
{
echo "third way route" ;
});
});
코드에서 defi방법을 찾아보자 그룹(), 여기에는 두 개의 매개변수, 즉 array
e closure
. 내부 closure
, 우리는 할 수 있습니다 defi완료 얼마나 많은 route
우리는 원한다. 위의 코드에서 우리는 defiXNUMX개를 마쳤다 route
.
브라우저를 통해 URL에 액세스하는 경우 localhost/myproject/first
그러면 첫 번째 사람이 개입합니다. route
브라우저에 입력 first way route
.
URL로 localhost/myproject/second
그 다음 두 번째가 온다 route
브라우저에 입력 second way route
.
URL을 사용하는 동안 localhost/myproject/third
그 다음 세 번째가 온다 route
브라우저에 입력 third way route
.
Route Groups
의 접두사 route
여러 사용자에게 공통된 URL 구조를 제공하려는 경우에 사용됩니다. route
.
모든 경로의 접두사를 지정할 수 있습니다. defi접두사 배열 옵션을 사용하여 그룹 내 nite Route Groups
.
의 예 web.php
Route::group(['prefix' => 'movie'], function()
{
Route::get('/godfather',function()
{
echo "Godfather casting";
});
Route::get('/pulpfiction',function()
{
echo "Pulp Fiction casting";
});
Route::get('/forrestgump',function()
{
echo "Forrest Gump casting";
});
});
코드에는 다음 URL에서 액세스할 수 있는 세 가지 경로가 포함되어 있습니다.
/movie/godfather ---> Godfather casting
/movie/pulpfiction ---> Pulp Fiction casting
/movie/forrestgump ---> Forrest Gump casting
그룹 내의 모든 경로에 미들웨어를 할당할 수도 있습니다. 미들웨어는 반드시 defi그룹을 만들기 전에 완료되었습니다. 이를 수행하는 방법을 보려면 기사를 읽으십시오. Laravel 미들웨어 작동 방식.
예 :
Route::middleware(['age'])->group( function()
{
Route::get('/godfather',function()
{
echo "Godfather casting";
});
Route::get('/pulpfiction',function()
{
echo "Pulp Fiction casting";
});
Route::get('/forrestgump',function()
{
echo "Forrest Gump casting";
});
});
방법 name
각 이름의 접두사로 사용됩니다. route
지정된 문자열로. 방법에서 name
, 접두사에 후행 문자가 있는 문자열을 지정해야 합니다.
예 web.php
Route::name('movie.')->group(function()
{
Route::get('users', function()
{
return "movie.films";
})->name('films');
});
Ercole Palmeri
색칠을 통해 소근육 운동 능력을 키우면 아이들이 글쓰기와 같은 보다 복잡한 기술을 준비할 수 있습니다. 색칠하다…
지난 월요일, Financial Times는 OpenAI와의 계약을 발표했습니다. FT는 세계적 수준의 저널리즘에 라이선스를 부여합니다…
수백만 명의 사람들이 스트리밍 서비스 비용을 지불하고 월간 구독료를 지불합니다. 당신은…