LoginSignup
5
1

More than 3 years have passed since last update.

【Laravel】Laravel上でスーパーグローバル「$_SERVER」を参照する。

Last updated at Posted at 2020-06-02

メモとして残します。

$_SERVERでも普通に参照できますが、フレームワークを使っている以上、スーパーグローバル変数を直接参照するのはどうかということで、一応、お作法にのっとって、Laravel上でスマートに参照する方法を紹介。

下記の例ではLaravelのヘルパrequestを使用して、帰ってきたオブジェクトのserverプロパティを参照しています。

■確認方法

$_SERVER要素全て


request()->server;
//↓実行結果

// "MIBDIRS" => "C:/hoge/php/extras/mibs"
// "MYSQL_HOME" => "\xampp\mysql\bin"
// "OPENSSL_CONF" => "C:/hoge/apache/bin/openssl.cnf"
// "PHP_PEAR_SYSCONF_DIR" => "\xampp\php"
// "PHPRC" => "\xampp\php"
// "TMP" => "\xampp\tmp"
// "HTTP_HOST" => "hoge.www.com"
// "HTTP_CONNECTION" => "keep-alive"
// "HTTP_PRAGMA" => "no-cache"
// "HTTP_CACHE_CONTROL" => "no-cache"
// "HTTP_UPGRADE_INSECURE_REQUESTS" => "1"
// "HTTP_USER_AGENT" => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36"
// "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"
// "HTTP_REFERER" => "http://hoge.www.com/"
// "HTTP_ACCEPT_ENCODING" => "gzip, deflate"
// "HTTP_ACCEPT_LANGUAGE" => "ja,en-US;q=0.9,en;q=0.8"
// "HTTP_COOKIE" => "remember_web_59ba36addc2b2f9401580f014c7f58ea4e30989d=eyJpdiI6IjBIU1JxWVFCeG96T1RWeDFBcUtrVVE9PSIsInZhbHVlIjoieU5pRnVudTJub1wvTzJpUndLZlQ4MzNlaVlqdEZqK24xUTlQNX ▶"
// "PATH" => "hoge"
// "SystemRoot" => "C:\WINDOWS"
// "COMSPEC" => "C:\WINDOWS\system32\cmd.exe"
// "PATHEXT" => ".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC"
// "WINDIR" => "C:\WINDOWS"
// "SERVER_SIGNATURE" => "<address>Apache/2.4.39 (Win64) OpenSSL/1.1.1c PHP/7.3.8 Server at hoge.www.com Port 80</address>"
// "SERVER_SOFTWARE" => "Apache/2.4.39 (Win64) OpenSSL/1.1.1c PHP/7.3.8"
// "SERVER_NAME" => "hoge.www.com"
// "SERVER_ADDR" => "127.0.0.1"
// "SERVER_PORT" => "80"
// "REMOTE_ADDR" => "127.0.0.1"
// "DOCUMENT_ROOT" => "C:/Develop/hogeproject/public"
// "REQUEST_SCHEME" => "http"
// "CONTEXT_PREFIX" => ""
// "CONTEXT_DOCUMENT_ROOT" => "C:/Develop/hogeproject/public"
// "SERVER_ADMIN" => "hoge@hoge.test.com"
// "SCRIPT_FILENAME" => "C:/Develop/hogeproject/public/index.php"
// "REMOTE_PORT" => "59332"
// "GATEWAY_INTERFACE" => "CGI/1.1"
// "SERVER_PROTOCOL" => "HTTP/1.1"
// "REQUEST_METHOD" => "GET"
// "QUERY_STRING" => ""
// "REQUEST_URI" => "/"
// "SCRIPT_NAME" => "/index.php"
// "PHP_SELF" => "/index.php"
// "REQUEST_TIME_FLOAT" => 1591082776.119
// "REQUEST_TIME" => 1591082776

要素を指定して参照


//request()->server->get('要素名');//SERVER_NAMEなど
request()->server->get('SERVER_NAME');
//↓実行結果
//localhost.hoge.com

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1