URL 생성 기능은 모든 프레임워크에 꼭 필요한 기능입니다. Laravel은 URL을 생성하는 여러 가지 방법을 제공합니다. 아래를 살펴보겠습니다.
보조 함수 url
보조 함수 url은 모든 URL을 생성할 수 있습니다. 도메인 이름이 지정되지 않으면 기본적으로 이 시스템의 도메인 이름이 사용됩니다.
echo url('http://baidu.com'); //http://baidu.com echo url('/users/get/3'); // http://localhost:8000/user/get/3
현재 URL 가져오기
이전 페이지의 주소를 가져오는 것 외에도 현재 URL을 가져오는 방법에는 여러 가지가 있습니다. 그러나 이러한 방법에는 몇 가지 차이점이 있습니다.
echo url()->current(); echo url()->full(); echo url()->previous();
현재 URL 주소가 http://www.example.com/news/1?a=b&c=d,
current인 경우 이 메서드는 현재 url()을 가져올 수 있지만 쿼리 문자열( 즉, a=b&c=d), full은 전체 경로를 얻을 수 있습니다.
위의 방법 외에도 laravel의 응답을 통해 현재 URL 주소를 얻을 수도 있습니다.
$request->path() 이 메소드는 현재 요청의 경로만 얻을 수 있고 도메인 이름과 쿼리 문자열은 얻을 수 없습니다
$request->url() 이 메소드와 url( )- >current()는 사용법은 동일하지만 쿼리 문자열을 얻을 수 없습니다.
$request->fullUrl() 이 메서드는 url()->full()과 동일한 효과가 있으며 쿼리 문자열을 얻을 수 있습니다. 전체 URL 주소.
경로에 의해 명명된 URL
우리는 종종 경로의 이름을 설정한 후 이 이름을 사용하여 경로의 URL 주소를 얻을 수 있습니다. 데모 코드는 아래와 같습니다:
먼저 경로 이름을 설정하면 코드는 다음과 같습니다:
Route::get('/news', function () { })->name('news');
그런 다음 경로의 URL 주소를 얻을 수 있습니다:
echo route('news');
경로에 매개변수가 있는 경우 라우팅 매개변수를 설정하는 경로 매개변수의 두 번째 매개변수입니다. 데모 코드는 다음과 같습니다.
Route::get('/news/page/{page}/page_num/{pageNum}', function () { })->name('news');
URL을 설정하는 코드는 다음과 같습니다.
echo route('news', ['page' => 1, 'page_num' => 15]);
컨트롤러의 URL
컨트롤러의 URL 주소는 프로젝트에서도 자주 사용됩니다. 컨트롤러의 URL은 액션 함수를 통해 획득됩니다. 데모 코드는 다음과 같습니다.
$url = action('IndexController@index');
컨트롤러 메서드에 라우팅 매개변수가 필요한 경우 해당 매개변수는 작업의 두 번째 매개변수를 통해 전달될 수 있습니다. 데모 코드는 다음과 같습니다:
$url = action('IndexController@index', ['id' => 1]);
권장: "laravel Framework"
위 내용은 다양한 유형의 URL 주소를 생성하고 얻는 laravel 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!