>  기사  >  PHP 프레임워크  >  laravel 라우팅 파일은 어느 디렉토리에 있습니까?

laravel 라우팅 파일은 어느 디렉토리에 있습니까?

青灯夜游
青灯夜游원래의
2022-04-28 13:07:474735검색

Laravel 라우팅 파일은 "routes" 디렉터리에 있습니다. Laravel의 모든 라우팅 파일은 경로 디렉터리에 정의되어 있으며 그 안에 있는 내용은 프레임워크에 의해 자동으로 로드됩니다. 이 디렉터리에는 서로 다른 입구에서 사용할 수 있는 4개의 기본 라우팅 파일(web.php, api.php, 콘솔)이 있습니다. PHP 잠깐만요.

laravel 라우팅 파일은 어느 디렉토리에 있습니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, Laravel 6 버전, DELL G3 컴퓨터.

Laravel에서는 간단히 경로를 정의하고 URI와 클로저만 전달하면 매우 편리합니다.

Route::get('foo', function () {
    return 'Hello World';
})

Laravel의 모든 경로는 경로 디렉터리에 정의되어 있으며 이 디렉터리의 콘텐츠는 프레임워크에 의해 자동으로 로드됩니다. 경로 디렉토리에는 서로 다른 입구에서 사용할 수 있는 네 가지 기본 라우팅 파일(web.php, api.php, console.php 및channel.php)이 있습니다.

  • web.php 파일에 포함된 경로는 모두 RouteServiceProvider에서 정의한 웹 미들웨어 그룹 제약 조건 내에 위치하므로 애플리케이션이 상태 비저장 RESTful 스타일을 제공할 필요가 없는 경우 세션, CSRF 보호 및 쿠키 암호화 기능을 지원합니다. API, 경로는 기본적으로 web.php 파일에 정의됩니다.

  • api.php 파일에 포함된 경로는 api 미들웨어 그룹의 제약 조건 내에 있으며 빈도 제한 기능을 지원합니다. 이러한 경로는 상태 비저장이므로 이러한 경로를 통해 애플리케이션에 진입하는 요청은 토큰을 통해 인증되어야 하며 이를 수행할 수 없습니다. 세션 상태에 액세스합니다.

  • console.php 파일은 모든 클로저 기반 콘솔 명령을 정의하는 데 사용됩니다. 각 클로저는 콘솔 명령에 바인딩되어 있으며 명령줄 IO 메서드와의 상호 작용을 허용합니다. 비록 이 파일이 HTTP 라우팅을 정의하지는 않지만 콘솔 기반 애플리케이션 항목(라우팅).

  • channels.php 파일은 애플리케이션에서 지원하는 모든 이벤트 방송 채널을 등록하는 데 사용됩니다.

많은 프로젝트는 기본적으로 Routes/web.php를 시작점으로 사용하여 개발되는데, 이를 통해 프로젝트를 빠르게 개발해야 할 필요성을 깨닫게 됩니다. Routes/web.php에 정의된 경로는 브라우저에서 직접 액세스할 수 있습니다. 예를 들어 브라우저에 http://your-app.dev/user 주소를 입력하면 다음 경로에 액세스할 수 있습니다.

Route::get('/user', 'UsersController@index');

경로/api.php에 정의된 경로는 RouteServiceProvider에 설정된 라우팅 그룹에 중첩됩니다. 이 그룹의 경로는 모두 /api URI 접두사를 사용하므로 경로를 정의할 때 이 접두사를 수동으로 추가할 필요가 없습니다. /api 접두사를 사용하지 않으려면 RouteServiceProvider에서 수정할 수 있습니다.

/**
 * Define the "api" routes for the application.
 *
 * These routes are typically stateless.
 *
 * @return void
 */
protected function mapApiRoutes()
{
    Route::prefix('api')
         ->middleware('api')
         ->namespace($this->namespace)
         ->group(base_path('routes/api.php'));
}

사용 가능한 라우팅 방법

각 HTTP 요청 유형에는 사용 가능한 해당 라우팅 방법이 있습니다.

Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback);
Route::delete($uri, $callback);
Route::options($uri, $callback);

때로는 경로가 여러 요청 유형과 일치할 수 있어야 하며, 이 경우 일치 방법을 사용할 수 있습니다.

Route::match(['get', 'post'], '/', function () {
    //
});

모든 요청 유형과 일치하는 경로를 원할 경우 any 메소드를 사용하세요:

Route::any('foo', function () {
    //
});

CSRF 보호

Route::post, Route::put, Route::patch 및 Route::로 정의된 경로 사용 delete , CSRF 토큰을 전달하기 위해 액세스하는 HTML 양식이 필요합니다. 그렇지 않으면 요청이 거부됩니다. CSRF 문서에서 이에 대한 자세한 내용을 읽을 수 있습니다.

<form method="POST" action="/profile">
    {{ csrf_field() }}
    ...
</form>

Redirect Routing

한 경로를 다른 경로로 리디렉션하려면 Route::redirect 메소드를 사용할 수 있습니다. 이렇게 하면 간단한 리디렉션을 작동하기 위해 전체 경로나 컨트롤러를 정의하는 수고를 덜 수 있습니다.

Route::redirect(&#39;/here&#39;, &#39;/there&#39;, 301);

View Routing

단순히 보기만 반환하려는 경우 Route::view 메서드를 사용할 수 있습니다. Route와 유사합니다. :redirect 메소드는 또한 약간의 문제를 줄여줍니다. 뷰 메소드의 첫 번째 매개변수는 URI이고, 두 번째 매개변수는 뷰 이름입니다. 또한 선택적인 세 번째 배열 유형 매개변수를 사용하여 데이터를 뷰에 전달할 수도 있습니다:

Route::view(&#39;/welcome&#39;, &#39;welcome&#39;);
Route::view(&#39;/welcome&#39;, &#39;welcome&#39;, [&#39;name&#39; => &#39;Taylor&#39;]);

[관련 권장 사항: laravel 비디오 튜토리얼]

위 내용은 laravel 라우팅 파일은 어느 디렉토리에 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:라라벨 함수란?다음 기사:라라벨 함수란?