はじめに

Laravel で現在の URL を取得する方法をいつも忘れるので、簡単に整理した。

TL;DR

目次

  1. はじめに
  2. TL;DR
  3. 環境・条件
  4. 詳細
  5. まとめ
  6. 参考文献

環境・条件

1
2
3
4
5
6
7
8
9
10
11
12
$ grep -i pretty /etc/os-release
PRETTY_NAME="Ubuntu 16.04.3 LTS"

$ php -v
PHP 7.2.22-1+ubuntu16.04.1+deb.sury.org+1 (cli) (built: Sep 2 2019 12:54:12) ( NTS )

$ composer -V
Composer version 1.9.0 2019-08-02 20:55:32

$ composer info laravel/framework
name : laravel/framework
versions : * v5.7.28

詳細

現在の URL を取得する方法と、その結果まとめ。

なお、確認はコントローラ内で行っているため、view とか middleware とかで実行すると結果違ってくるかも(未確認)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
$_SERVER['REQUEST_URI'];
=> '/foo/bar?hoge=fuga'

$request->url();
=> 'http://localhost/foo/bar'

$request->fullUrl();
=> 'http://localhost/foo/bar?hoge=fuga'

$request->getBaseUrl();
=> ''

$request->getRelativeUriForPath('')
=> ''

$request->getRequestUri();
=> '/foo/bar?hoge=fuga'

$request->getUri();
=> 'http://localhost/foo/bar?hoge=fuga'

$request->getUriForPath('');
=> 'http://localhost'

$request->path();
=> 'foo/bar'

$request->pathinfo;
=> ''

$request->getBasePath();
=> ''

$request->getPathInfo();
=> '/foo/bar'

$request->path('');
=> 'foo/bar'

url()->current();
=> 'http://localhost/foo/bar'

url()->full();
=> 'http://localhost/foo/bar?hoge=fuga'

URL::current();
=> 'http://localhost/foo/bar'

URL::full();
=> 'http://localhost/foo/bar?hoge=fuga'

まとめ

参考文献

関連記事