フォロワー 2

クラス yii\web\Request

継承yii\web\Request » yii\base\Request » yii\base\Component » yii\base\BaseObject
実装yii\base\Configurable
利用可能なバージョン2.0
ソースコード https://github.com/yiisoft/yii2/blob/master/framework/web/Request.php

Web Request クラスは、HTTP リクエストを表します。

$_SERVER 変数をカプセル化し、異なる Web サーバー間の不一致を解決します。また、$_POST、$_GET、$_COOKIES、およびPUTやDELETEなどの他のHTTPメソッドで送信されたRESTパラメータからリクエストパラメータを取得するためのインターフェースを提供します。

Request は、デフォルトでyii\web\Applicationでアプリケーションコンポーネントとして構成されています。`Yii::$app->request` を通じてそのインスタンスにアクセスできます。

Requestの詳細と使用方法については、リクエストに関するガイド記事を参照してください。(※原文は英語記事へのリンクです。日本語訳記事があればそちらへのリンクに置き換えるべきです)

公開プロパティ

継承されたプロパティを非表示

プロパティ 説明 定義元
$absoluteUrl string 現在リクエストされている絶対URL。 yii\web\Request
$acceptableContentTypes array 品質スコアでソートされたコンテンツタイプ。 yii\web\Request
$acceptableLanguages array 優先順位でソートされた言語。 yii\web\Request
$authCredentials array 正確に2つの要素を含む配列: - 0: HTTP認証で送信されたユーザー名、ユーザー名が指定されていない場合はnull - 1: HTTP認証で送信されたパスワード、パスワードが指定されていない場合はnull yii\web\Request
$authPassword string|null HTTP認証で送信されたパスワード、パスワードが指定されていない場合はnull yii\web\Request
$authUser string|null HTTP認証で送信されたユーザー名、ユーザー名が指定されていない場合はnull yii\web\Request
$baseUrl string アプリケーションの相対URL。 yii\web\Request
$behaviors yii\base\Behavior[] このコンポーネントにアタッチされたビヘイビアのリスト。 yii\base\Component
$bodyParams array|object リクエストボディで指定されたリクエストパラメータ。 yii\web\Request
$contentType string リクエストのコンテンツタイプ。 yii\web\Request
$cookieValidationKey string Cookie検証に使用される秘密鍵。 yii\web\Request
$cookies yii\web\CookieCollection Cookieコレクション。 yii\web\Request
$csrfCookie array CSRF Cookieを作成するための設定。 yii\web\Request
$csrfParam string CSRFを防ぐために使用されるトークンの名前。 yii\web\Request
$csrfToken string CSRF検証を実行するために使用されるトークン。 yii\web\Request
$csrfTokenFromHeader string|null ブラウザによってCSRF_HEADERを介して送信されたCSRFトークン。 yii\web\Request
$eTags array エンティティタグ。 yii\web\Request
$enableCookieValidation boolean Cookieを検証して改ざんされていないことを確認するかどうか。 yii\web\Request
$enableCsrfCookie boolean Cookieを使用してCSRFトークンを保持するかどうか。 yii\web\Request
$enableCsrfValidation boolean CSRF(クロスサイトリクエストフォージェリ)検証を有効にするかどうか。 yii\web\Request
$headers yii\web\HeaderCollection ヘッダーコレクション。 yii\web\Request
$hostInfo string|null リクエストURLのスキーマとホスト名部分(必要に応じてポート番号付き)(例:`https://yii.dokyumento.jp`)、`$_SERVER`から取得できず、設定されていない場合はnull。 yii\web\Request
$hostName string|null リクエストURLのホスト名部分(例:`www.yiiframework.com`)。 yii\web\Request
$ipHeaders string[] プロキシが実際のクライアントIPを格納するヘッダーのリスト。 yii\web\Request
$isAjax boolean これがAJAX(XMLHttpRequest)リクエストかどうか。 yii\web\Request
$isConsoleRequest boolean 現在のリクエストがコンソールを介して行われたかどうかを示す値。 yii\base\Request
$isDelete boolean これがDELETEリクエストかどうか。 yii\web\Request
$isFlash boolean これがAdobe FlashまたはAdobe Flexリクエストかどうか。 yii\web\Request
$isGet boolean これがGETリクエストかどうか。 yii\web\Request
$isHead boolean これがHEADリクエストかどうか。 yii\web\Request
$isOptions boolean これがOPTIONSリクエストかどうか。 yii\web\Request
$isPatch boolean これがPATCHリクエストかどうか。 yii\web\Request
$isPjax boolean これがPJAXリクエストかどうか。 yii\web\Request
$isPost boolean これがPOSTリクエストかどうか。 yii\web\Request
$isPut boolean これがPUTリクエストかどうか。 yii\web\Request
$isSecureConnection boolean リクエストがセキュアチャネル(https)を介して送信された場合。 yii\web\Request
$method string リクエストメソッド(GET、POST、HEAD、PUT、PATCH、DELETEなど)。 yii\web\Request
$methodParam string POSTリクエストを介してトンネリングされたPUT、PATCH、またはDELETEリクエストであるかどうかを示すために使用されるPOSTパラメータの名前。 yii\web\Request
$origin string|null CORSリクエストのURLオリジン、利用できない場合はnull yii\web\Request
$parsers array 生のHTTPリクエストボディを$bodyParamsに変換するためのパーサー。 yii\web\Request
$pathInfo string エントリスクリプトの後、疑問符の前にあるリクエストURLの部分。 yii\web\Request
$port integer 安全でないリクエストのポート番号。 yii\web\Request
$portHeaders string[] プロキシが実際のリクエストポートを格納するヘッダーのリスト。 yii\web\Request
$preferredLanguage string アプリケーションが使用する言語。 yii\web\Request
$queryParams array リクエストGETパラメータの値。 yii\web\Request
$queryString string 疑問符の後のリクエストURLの部分。 yii\web\Request
$rawBody string リクエストボディ。 yii\web\Request
$referrer string|null URLリファラー、利用できない場合はnull。 yii\web\Request
$remoteHost string|null リモートホスト名、利用できない場合はnull yii\web\Request
$remoteIP string|null リモートIPアドレス、利用できない場合はnull yii\web\Request
$scriptFile string エントリスクリプトファイルパス。 yii\web\Request
$scriptUrl string エントリスクリプトの相対URL。 yii\web\Request
$secureHeaders array デフォルトで信頼できるホスト構成の対象となるヘッダーのリスト。 yii\web\Request
$securePort integer セキュアリクエストのポート番号。 yii\web\Request
$secureProtocolHeaders array 接続がHTTPSを介して行われたかどうかを判断するために確認するヘッダーのリスト。 yii\web\Request
$serverName string|null サーバー名、利用できない場合はnull。 yii\web\Request
$serverPort integer|null サーバーポート番号、利用できない場合はnull。 yii\web\Request
$trustedHosts array 信頼できるセキュリティ関連ヘッダーの設定。 yii\web\Request
$url string 現在要求されている相対URL。 yii\web\Request
$userAgent string|null ユーザーエージェント。利用できない場合はnull。 yii\web\Request
$userHost string|null ユーザーホスト名。利用できない場合はnull。 yii\web\Request
$userIP string|null ユーザーIPアドレス。利用できない場合はnull。 yii\web\Request

公開メソッド

継承されたメソッドを隠す

メソッド 説明 定義元
__call() クラスメソッドではない、指定されたメソッドを呼び出します。 yii\base\Component
__clone() 既存のオブジェクトを複製してオブジェクトが作成された後に、このメソッドが呼び出されます。 yii\base\Component
__construct() コンストラクタ。 yii\base\BaseObject
__get() コンポーネントプロパティの値を返します。 yii\base\Component
__isset() プロパティが設定されているか(定義されていてnullでないか)を確認します。 yii\base\Component
__set() コンポーネントプロパティの値を設定します。 yii\base\Component
__unset() コンポーネントプロパティをnullに設定します。 yii\base\Component
attachBehavior() このコンポーネントにビヘイビアをアタッチします。 yii\base\Component
attachBehaviors() コンポーネントにビヘイビアのリストをアタッチします。 yii\base\Component
behaviors() このコンポーネントが備えるべきビヘイビアのリストを返します。 yii\base\Component
canGetProperty() プロパティを読み取ることができるかどうかを示す値を返します。 yii\base\Component
canSetProperty() プロパティを設定できるかどうかを示す値を返します。 yii\base\Component
className() このクラスの完全修飾名を返します。 yii\base\BaseObject
detachBehavior() コンポーネントからビヘイビアをデタッチします。 yii\base\Component
detachBehaviors() コンポーネントからすべてのビヘイビアをデタッチします。 yii\base\Component
ensureBehaviors() behaviors()で宣言されたビヘイビアがこのコンポーネントにアタッチされていることを確認します。 yii\base\Component
get() 指定された名前のGETパラメータを返します。名前が指定されていない場合は、すべてのGETパラメータの配列を返します。 yii\web\Request
getAbsoluteUrl() 現在要求されている絶対URLを返します。 yii\web\Request
getAcceptableContentTypes() エンドユーザーが許容するコンテンツタイプを返します。 yii\web\Request
getAcceptableLanguages() エンドユーザーが許容する言語を返します。 yii\web\Request
getAuthCredentials() yii\web\Request
getAuthPassword() yii\web\Request
getAuthUser() yii\web\Request
getBaseUrl() アプリケーションの相対URLを返します。 yii\web\Request
getBehavior() 指定された名前のビヘイビアオブジェクトを返します。 yii\base\Component
getBehaviors() このコンポーネントにアタッチされているすべてのビヘイビアを返します。 yii\base\Component
getBodyParam() 指定された名前のリクエストボディパラメータの値を返します。 yii\web\Request
getBodyParams() リクエストボディで指定されたリクエストパラメータを返します。 yii\web\Request
getContentType() リクエストのコンテンツタイプを返します。Content-Typeヘッダーフィールドは、getRawBody()に含まれるデータのMIMEタイプを示します。HEADメソッドの場合は、リクエストがGETであった場合に送信されていたであろうメディアタイプを示します。 yii\web\Request
getCookies() Cookieコレクションを返します。 yii\web\Request
getCsrfToken() CSRF検証に使用するトークンを返します。 yii\web\Request
getCsrfTokenFromHeader() yii\web\Request
getETags() ETagを取得します。 yii\web\Request
getHeaders() ヘッダーコレクションを返します。 yii\web\Request
getHostInfo() 現在のリクエストURLのスキーマとホスト部分を返します。 yii\web\Request
getHostName() 現在のリクエストURLのホスト部分を返します。 yii\web\Request
getIsAjax() これがAJAX(XMLHttpRequest)リクエストかどうかを返します。 yii\web\Request
getIsConsoleRequest() 現在のリクエストがコマンドラインを介して行われたかどうかを示す値を返します。 yii\base\Request
getIsDelete() これがDELETEリクエストかどうかを返します。 yii\web\Request
getIsFlash() これがAdobe FlashまたはFlexリクエストかどうかを返します。 yii\web\Request
getIsGet() これがGETリクエストかどうかを返します。 yii\web\Request
getIsHead() これがHEADリクエストかどうかを返します。 yii\web\Request
getIsOptions() これがOPTIONSリクエストかどうかを返します。 yii\web\Request
getIsPatch() これがPATCHリクエストかどうかを返します。 yii\web\Request
getIsPjax() これがPJAXリクエストかどうかを返します。 yii\web\Request
getIsPost() これがPOSTリクエストかどうかを返します。 yii\web\Request
getIsPut() これがPUTリクエストかどうかを返します。 yii\web\Request
getIsSecureConnection() リクエストがセキュアチャネル(https)を介して送信されたかどうかを返します。 yii\web\Request
getMethod() 現在のリクエストのメソッド(例:GET、POST、HEAD、PUT、PATCH、DELETE)を返します。 yii\web\Request
getOrigin() CORSリクエストのURLオリジンを返します。 yii\web\Request
getPathInfo() 現在要求されているURLのパス情報を返します。 yii\web\Request
getPort() 安全でないリクエストに使用するポートを返します。 yii\web\Request
getPreferredLanguage() このアプリケーションで使用するべきユーザーが優先する言語を返します。 yii\web\Request
getQueryParam() 指定された名前のGETパラメータの値を返します。 yii\web\Request
getQueryParams() $queryStringで指定されたリクエストパラメータを返します。 yii\web\Request
getQueryString() クエスチョンマークの後のリクエストURLの部分を返します。 yii\web\Request
getRawBody() 生のHTTPリクエストボディを返します。 yii\web\Request
getReferrer() URLリファラーを返します。 yii\web\Request
getRemoteHost() この接続の反対側のホスト名を返します。 yii\web\Request
getRemoteIP() この接続の反対側のIPを返します。 yii\web\Request
getScriptFile() エントリスクリプトファイルパスを返します。 yii\web\Request
getScriptUrl() エントリスクリプトの相対URLを返します。 yii\web\Request
getSecurePort() セキュアリクエストに使用するポートを返します。 yii\web\Request
getServerName() サーバー名を返します。 yii\web\Request
getServerPort() サーバーポート番号を返します。フォワーディングヘッダー(例:「X-Forwarded-Port」)を介してポートが指定され、リモートホストが「信頼できるホスト」である場合、そのポートが使用されます($portHeadersを参照)。そうでない場合は、デフォルトのサーバーポートが返されます。 yii\web\Request
getUrl() 現在要求されている相対URLを返します。 yii\web\Request
getUserAgent() ユーザーエージェントを返します。 yii\web\Request
getUserHost() ユーザーホスト名を返します。 yii\web\Request
getUserIP() ユーザーIPアドレスを返します。 yii\web\Request
hasEventHandlers() 指定されたイベントにアタッチされたハンドラーがあるかどうかを示す値を返します。 yii\base\Component
hasMethod() メソッドが定義されているかどうかを示す値を返します。 yii\base\Component
hasProperty() このコンポーネントのプロパティが定義されているかどうかを示す値を返します。 yii\base\Component
init() オブジェクトを初期化します。 yii\base\BaseObject
off() このコンポーネントから既存のイベントハンドラーをデタッチします。 yii\base\Component
on() イベントにイベントハンドラーをアタッチします。 yii\base\Component
parseAcceptHeader() 指定されたAccept(またはAccept-Language)ヘッダーを解析します。 yii\web\Request
post() 指定された名前のPOSTパラメータを返します。名前が指定されていない場合は、すべてのPOSTパラメータの配列を返します。 yii\web\Request
resolve() 現在のリクエストをルートと関連パラメータに解決します。 yii\web\Request
setAcceptableContentTypes() 許容されるコンテンツタイプを設定します。 yii\web\Request
setAcceptableLanguages() yii\web\Request
setBaseUrl() アプリケーションの相対URLを設定します。 yii\web\Request
setBodyParams() リクエストボディパラメータを設定します。 yii\web\Request
setHostInfo() アプリケーションURLのスキーマとホスト部分を設定します。 yii\web\Request
setIsConsoleRequest() 現在のリクエストがコマンドラインを介して行われたかどうかを示す値を設定します。 yii\base\Request
setPathInfo() 現在のリクエストのパス情報を設定します。 yii\web\Request
setPort() 安全でないリクエストに使用するポートを設定します。 yii\web\Request
setQueryParams() リクエストの$queryStringパラメータを設定します。 yii\web\Request
setRawBody() 生のHTTPリクエストボディを設定します。このメソッドは主に、生のHTTPリクエストをシミュレートするテストスクリプトで使用されます。 yii\web\Request
setScriptFile() エントリスクリプトファイルパスを設定します。 yii\web\Request
setScriptUrl() アプリケーションエントリスクリプトの相対URLを設定します。 yii\web\Request
setSecurePort() セキュアリクエストに使用するポートを設定します。 yii\web\Request
setUrl() 現在要求されている相対URLを設定します。 yii\web\Request
trigger() イベントをトリガーします。 yii\base\Component
validateCsrfToken() CSRF検証を実行します。 yii\web\Request

保護されたメソッド

継承されたメソッドを隠す

メソッド 説明 定義元
createCsrfCookie() ランダムに生成されたCSRFトークンを含むCookieを作成します。 yii\web\Request
filterHeaders() $trustedHostsに従ってヘッダーをフィルタリングします。 yii\web\Request
generateCsrfToken() CSRF検証に使用するマスクされていないランダムトークンを生成します。 yii\web\Request
getIpValidator() yii\validators\IpValidatorのインスタンスを作成します。 yii\web\Request
getSecureForwardedHeaderParts() デコードされた転送ヘッダーを返します。 yii\web\Request
getSecureForwardedHeaderTrustedPart() トークンの最初のForwardedヘッダー値を取得します。 yii\web\Request
getSecureForwardedHeaderTrustedParts() 信頼できるForwardedヘッダー部分のみを取得します。 yii\web\Request
getTrustedHeaders() $trustedHostsに従って信頼できるヘッダー。 yii\web\Request
getUserIpFromIpHeader() IPヘッダーからユーザーIPを返します。 yii\web\Request
getUserIpFromIpHeaders() $ipHeadersからユーザーIPアドレスを返します。 yii\web\Request
loadCookies() $_COOKIEyii\web\Cookieの配列に変換します。 yii\web\Request
loadCsrfToken() CookieまたはセッションからCSRFトークンを読み込みます。 yii\web\Request
resolvePathInfo() 現在要求されているURLのパス情報部分を解決します。 yii\web\Request
resolveRequestUri() 現在要求されているURLのリクエストURI部分を解決します。 yii\web\Request

定数

継承された定数を隠す

定数 説明 定義元
CSRF_HEADER 'X-CSRF-Token' CSRFトークンを送信するためのHTTPヘッダーの名前。 yii\web\Request
CSRF_MASK_LENGTH 8 CSRFトークンマスクの長さ。 **2.0.12以降非推奨。マスクの長さは現在トークンの長さと同じです。** yii\web\Request

プロパティの詳細

継承されたプロパティを非表示

$absoluteUrl public property

現在リクエストされている絶対URL。

public string $absoluteUrl null
$acceptableContentTypes public property

品質スコア順に並べられたコンテンツタイプ。スコアの高いタイプが最初に返されます。配列のキーはコンテンツタイプ、配列の値は対応する品質スコアと、ヘッダーに指定されているその他のパラメータです。

$acceptableLanguages public property

優先順位に従ってソートされた言語リスト。最初の要素が最も優先度の高い言語を表します。

$authCredentials public property

正確に2つの要素を含む配列: - 0: HTTP認証で送信されたユーザー名、ユーザー名が指定されていない場合はnull - 1: HTTP認証で送信されたパスワード、パスワードが指定されていない場合はnull

public array $authCredentials null
$authPassword public property

HTTP認証で送信されたパスワード、パスワードが指定されていない場合はnull

public string|null $authPassword null
$authUser public property

HTTP認証で送信されたユーザー名、ユーザー名が指定されていない場合はnull

public string|null $authUser null
$baseUrl public property

アプリケーションの相対URL。

public string $baseUrl null
$bodyParams public property

リクエストボディで指定されたリクエストパラメータ。

public array|object $bodyParams null
$contentType public property

リクエストのコンテンツタイプ。この情報が利用できない場合は空文字列が返されます。

public string $contentType null
$cookieValidationKey public property

$enableCookieValidation が true の場合、Cookie 検証に使用される秘密鍵。このプロパティは必須です。

$cookies public property

Cookieコレクション。

$csrfCookie public property

$enableCsrfValidation$enableCsrfCookie の両方が true の場合にのみ使用される、CSRF Cookie 作成のための設定。

public array $csrfCookie = [
    
'httpOnly' => true,
]
$csrfParam public property

CSRF 攻撃を防ぐために使用されるトークンの名前。デフォルトは '_csrf'。このプロパティは、$enableCsrfValidation が true の場合にのみ使用されます。

public string $csrfParam '_csrf'
$csrfToken public property

CSRF検証を実行するために使用されるトークン。

public string $csrfToken null
$csrfTokenFromHeader public property

ブラウザからCSRF_HEADERを介して送信されたCSRFトークン。ヘッダーが送信されていない場合はnullが返されます。

$eTags public プロパティ

エンティティタグ。

public array $eTags null
$enableCookieValidation public プロパティ

Cookieが改ざんされていないことを検証するかどうかを指定します。デフォルトはtrueです。

$enableCsrfCookie public プロパティ

CSRFトークンを永続化するためにCookieを使用するかどうかを指定します。falseの場合、CSRFトークンは$csrfParamの名前でセッションに保存されます。セッションにCSRFトークンを保存するとセキュリティが向上しますが、すべてのページでセッションを開始する必要があるため、サイトのパフォーマンスが低下します。

public boolean $enableCsrfCookie true
$enableCsrfValidation public プロパティ

CSRF(クロスサイトリクエストフォージェリ)検証を有効にするかどうかを指定します。デフォルトはtrueです。CSRF検証が有効になっている場合、Yii Webアプリケーションに送信されるフォームは、同じアプリケーションから発信されている必要があります。そうでない場合、400 HTTP例外が発生します。

この機能を使用するには、ユーザーのクライアントがCookieを受け入れる必要があります。また、この機能を使用するには、POSTメソッドで送信されるフォームに、$csrfParamで指定された名前の隠し入力を含める必要があります。yii\helpers\Html::beginForm()を使用してこの隠し入力を生成できます。

JavaScriptでは、$csrfParam$csrfTokenの値をそれぞれyii.getCsrfParam()yii.getCsrfToken()で取得できます。yii\web\YiiAssetアセットを登録する必要があります。また、yii\helpers\Html::csrfMetaTags()を使用して、ページにCSRFメタタグを含める必要があります。

参照

$headers public プロパティ

ヘッダーコレクション。

$hostInfo public プロパティ

リクエストURLのスキームとホスト名部分(必要に応じてポート番号を含む)(例:https://yii.dokyumento.jp)。`$_SERVER`から取得できない場合、または設定されていない場合はnullです。getHostInfo()で、このプロパティに関するセキュリティ上の注意を参照してください。

public string|null $hostInfo null
$hostName public プロパティ

リクエストURLのホスト名部分(例:`www.yiiframework.com`)。

public string|null $hostName null
$ipHeaders public プロパティ (バージョン 2.0.13 から利用可能)

プロキシが実際のクライアントIPを格納するヘッダーのリストです。安全でないヘッダーをここに配置することはお勧めできません。RFC 7239に従って`Forwarded`ヘッダーを使用するには、ヘッダーを$secureHeadersリストに追加する必要があります。ヘッダー名の照合は大文字と小文字を区別しません。

参照

public string[] $ipHeaders = [
    
'X-Forwarded-For',
]
$isAjax public プロパティ

これがAJAX(XMLHttpRequest)リクエストかどうか。

public boolean $isAjax null
$isDelete public プロパティ

これがDELETEリクエストかどうか。

public boolean $isDelete null
$isFlash public プロパティ

これがAdobe FlashまたはAdobe Flexリクエストかどうか。

public boolean $isFlash null
$isGet public プロパティ

これがGETリクエストかどうか。

public boolean $isGet null
$isHead public プロパティ

これがHEADリクエストかどうか。

public boolean $isHead null
$isOptions public プロパティ

これがOPTIONSリクエストかどうか。

public boolean $isOptions null
$isPatch public プロパティ

これがPATCHリクエストかどうか。

public boolean $isPatch null
$isPjax public プロパティ

これがPJAXリクエストかどうか。

public boolean $isPjax null
$isPost public プロパティ

これがPOSTリクエストかどうか。

public boolean $isPost null
$isPut public プロパティ

これがPUTリクエストかどうか。

public boolean $isPut null
$isSecureConnection public プロパティ

リクエストがセキュアチャネル(https)を介して送信された場合。

$method public プロパティ

リクエストメソッド(例:GET、POST、HEAD、PUT、PATCH、DELETE)。返される値は大文字に変換されます。

public string $method null
$methodParam public プロパティ

POSTリクエストを介してPUT、PATCH、DELETEリクエストがトンネリングされているかどうかを示すために使用されるPOSTパラメータの名前。デフォルトは'_method'です。

参照

public string $methodParam '_method'
$origin public プロパティ

CORSリクエストのURLオリジン、利用できない場合はnull

public string|null $origin null
$parsers public プロパティ

生のHTTPリクエストボディを$bodyParamsに変換するためのパーサー。配列のキーはリクエストのContent-Typesであり、配列の値はパーサーオブジェクトの作成に関する対応する設定です。パーサーはyii\web\RequestParserInterfaceを実装する必要があります。

JSONリクエストの解析を有効にするには、次の例のようにyii\web\JsonParserクラスを使用できます。

[
    'application/json' => 'yii\web\JsonParser',
]

すべてのリクエストタイプを解析するためのパーサーを登録するには、配列キーとして'*'を使用できます。これは、他のタイプが一致しない場合のフォールバックとして使用されます。

getBodyParams()も参照してください。

public array $parsers = []
$pathInfo public プロパティ

エントリスクリプトの後、疑問符の前にあるリクエストURLの一部。返されるパス情報は既にURLデコードされています。

public string $pathInfo null
$port public プロパティ

安全でないリクエストのポート番号。

public integer $port null
$portHeaders public プロパティ (バージョン 2.0.46 から利用可能)

プロキシが実際の要求ポートを格納するヘッダーのリストです。安全でないヘッダーをここに配置することはお勧めしません。「Forwarded Port」を使用するには、ヘッダーを$secureHeadersリストに追加する必要があります。ヘッダー名の照合は大文字と小文字を区別しません。

参照

public string[] $portHeaders = [
    
'X-Forwarded-Port',
]
$preferredLanguage public 読み取り専用プロパティ

アプリケーションが使用する言語。

public string getPreferredLanguage ( array $languages = [] )
$queryParams public プロパティ

リクエストGETパラメータの値。

public array $queryParams null
$queryString public プロパティ

疑問符の後のリクエストURLの部分。

public string $queryString null
$rawBody public プロパティ

リクエストボディ。

public string $rawBody null
$referrer public プロパティ

URLリファラー、利用できない場合はnull。

public string|null $referrer null
$remoteHost public プロパティ

リモートホスト名、利用できない場合はnull

public string|null $remoteHost null
$remoteIP public プロパティ

リモートIPアドレス、利用できない場合はnull

public string|null $remoteIP null
$scriptFile public プロパティ

エントリスクリプトファイルパス。

public string $scriptFile null
$scriptUrl public プロパティ

エントリスクリプトの相対URL。

public string $scriptUrl null
$secureHeaders public プロパティ (バージョン 2.0.13 から利用可能)

デフォルトで信頼できるホスト設定の対象となるヘッダーのリストです。$trustedHostsで明示的に許可されていない限り、これらのヘッダーはフィルタリングされます。「Forwarded」ヘッダーが含まれている場合、処理はRFC 7239に従って行われます。ヘッダー名の照合は大文字と小文字を区別しません。

参照

public array $secureHeaders = [
    
'X-Forwarded-For',
    
'X-Forwarded-Host',
    
'X-Forwarded-Proto',
    
'X-Forwarded-Port',
    
'Front-End-Https',
    
'X-Rewrite-Url',
    
'X-Original-Host',
]
$securePort public プロパティ

セキュアリクエストのポート番号。

public integer $securePort null
$secureProtocolHeaders public プロパティ (バージョン 2.0.13 から利用可能)

接続がHTTPSを介して行われたかどうかを判断するために確認するヘッダーのリストです。配列のキーはヘッダー名であり、配列の値は安全な接続を示すヘッダー値のリストです。ヘッダー名と値の照合は大文字と小文字を区別しません。安全でないヘッダーをここに配置することはお勧めしません。

参照

public array $secureProtocolHeaders = [
    
'X-Forwarded-Proto' => [
        
'https',
    ],
    
'Front-End-Https' => [
        
'on',
    ],
]
$serverName public property

サーバー名、利用できない場合はnull。

public string|null $serverName null
$serverPort public property

サーバーポート番号、利用できない場合はnull。

public integer|null $serverPort null
$trustedHosts public property (バージョン 2.0.13 から利用可能)

信頼できるセキュリティ関連ヘッダーの設定。

配列のキーは、クライアントとの照合のためのCIDR表記のIPv4またはIPv6のIPアドレスです。

配列の値は、信頼するヘッダーのリストです。これらは$secureHeadersと照合され、指定されたホストによって送信が許可されるヘッダーが決定されます。ヘッダー名のケースは、$secureHeadersで指定されたものと一致する必要があります。

例えば、`192.168.0.0-192.168.0.254`の範囲のIPアドレスに対して$secureHeadersにリストされているすべてのヘッダーを信頼するには、次のように記述します。

[
    '192.168.0.0/24',
]

`10.0.0.1`からの`X-Forwarded-For`ヘッダーのみを信頼するには、次のように使用します。

[
    '10.0.0.1' => ['X-Forwarded-For']
]

デフォルトでは、すべてのホストからの$secureHeadersにリストされているヘッダーを除くすべてのヘッダーを信頼します。一致は順番に試行され、IPが一致すると検索が停止します。

情報: 照合はyii\validators\IpValidatorを使用して実行されます。IpValidator::::setRanges()yii\validators\IpValidator::$networksを参照して、高度な照合について確認してください。

$secureHeadersも参照してください。

public array $trustedHosts = []
$url public property

現在要求されている相対URLです。返されるURIは、クライアントに応じてURLエンコードされている場合があります。

public string $url null
$userAgent public property

ユーザーエージェント。利用できない場合はnull。

public string|null $userAgent null
$userHost public property

ユーザーホスト名。利用できない場合はnull。

public string|null $userHost null
$userIP public property

ユーザーIPアドレス。利用できない場合はnull。

public string|null $userIP null

メソッドの詳細

継承されたメソッドを隠す

__call() public method

定義されている場所: yii\base\Component::__call()

クラスメソッドではない、指定されたメソッドを呼び出します。

このメソッドは、アタッチされているビヘイビアに指定されたメソッドがあるかどうかを確認し、利用可能な場合は実行します。

これはPHPのマジックメソッドであり、不明なメソッドが呼び出されたときに暗黙的に呼び出されるため、直接呼び出さないでください。

public mixed __call ( $name, $params )
$name string

メソッド名

$params array

メソッドパラメータ

戻り値 mixed

メソッドの戻り値

例外 yii\base\UnknownMethodException

不明なメソッドを呼び出した場合

                public function __call($name, $params)
{
    $this->ensureBehaviors();
    foreach ($this->_behaviors as $object) {
        if ($object->hasMethod($name)) {
            return call_user_func_array([$object, $name], $params);
        }
    }
    throw new UnknownMethodException('Calling unknown method: ' . get_class($this) . "::$name()");
}

            
__clone() public method

定義されている場所: yii\base\Component::__clone()

既存のオブジェクトを複製してオブジェクトが作成された後に、このメソッドが呼び出されます。

古いオブジェクトにアタッチされているため、すべてのビヘイビアを削除します。

public void __clone ( )

                public function __clone()
{
    $this->_events = [];
    $this->_eventWildcards = [];
    $this->_behaviors = null;
}

            
__construct() public method

定義されている場所: yii\base\BaseObject::__construct()

コンストラクタ。

デフォルトの実装では、次の2つのことを行います。

  • 指定された構成`$config`を使用してオブジェクトを初期化します。
  • init()を呼び出します。

このメソッドを子クラスでオーバーライドする場合は、

  • コンストラクタの最後のパラメータを構成配列(ここでは`$config`)にすることをお勧めします。
  • コンストラクタの最後に親の実装を呼び出してください。
public void __construct ( $config = [] )
$config array

オブジェクトのプロパティを初期化するために使用される名前と値のペア

                public function __construct($config = [])
{
    if (!empty($config)) {
        Yii::configure($this, $config);
    }
    $this->init();
}

            
__get() public メソッド

定義されている場所: yii\base\Component::__get()

コンポーネントプロパティの値を返します。

このメソッドは、以下の順序でチェックを行い、それに応じて動作します。

  • ゲッターによって定義されたプロパティ: ゲッターの結果を返します。
  • ビヘイビアのプロパティ: ビヘイビアのプロパティの値を返します。

これはPHPのマジックメソッドであり、`$value = $component->property;`を実行した際に暗黙的に呼び出されるため、直接呼び出さないでください。

こちらも参照してください __set().

public mixed __get ( $name )
$name string

プロパティ名

戻り値 mixed

プロパティの値、またはビヘイビアのプロパティの値

例外 yii\base\UnknownPropertyException

プロパティが定義されていない場合

例外 yii\base\InvalidCallException

プロパティが書き込み専用の場合。

                public function __get($name)
{
    $getter = 'get' . $name;
    if (method_exists($this, $getter)) {
        // read property, e.g. getName()
        return $this->$getter();
    }
    // behavior property
    $this->ensureBehaviors();
    foreach ($this->_behaviors as $behavior) {
        if ($behavior->canGetProperty($name)) {
            return $behavior->$name;
        }
    }
    if (method_exists($this, 'set' . $name)) {
        throw new InvalidCallException('Getting write-only property: ' . get_class($this) . '::' . $name);
    }
    throw new UnknownPropertyException('Getting unknown property: ' . get_class($this) . '::' . $name);
}

            
__isset() public メソッド

定義されている場所: yii\base\Component::__isset()

プロパティが設定されているか(定義されていてnullでないか)を確認します。

このメソッドは、以下の順序でチェックを行い、それに応じて動作します。

  • セッターによって定義されたプロパティ: プロパティが設定されているかどうかを返します。
  • ビヘイビアのプロパティ: プロパティが設定されているかどうかを返します。
  • 存在しないプロパティの場合は`false`を返します。

これはPHPのマジックメソッドであり、`isset($component->property)`を実行した際に暗黙的に呼び出されるため、直接呼び出さないでください。

こちらも参照してください https://www.php.net/manual/en/function.isset.php.

public boolean __isset ( $name )
$name string

プロパティ名またはイベント名

戻り値 boolean

指定されたプロパティが設定されているかどうか

                public function __isset($name)
{
    $getter = 'get' . $name;
    if (method_exists($this, $getter)) {
        return $this->$getter() !== null;
    }
    // behavior property
    $this->ensureBehaviors();
    foreach ($this->_behaviors as $behavior) {
        if ($behavior->canGetProperty($name)) {
            return $behavior->$name !== null;
        }
    }
    return false;
}

            
__set() public メソッド

定義されている場所: yii\base\Component::__set()

コンポーネントプロパティの値を設定します。

このメソッドは、以下の順序でチェックを行い、それに応じて動作します。

  • セッターによって定義されたプロパティ: プロパティの値を設定します。
  • "on xyz"形式のイベント: "xyz"イベントにハンドラーをアタッチします。
  • "as xyz"形式のビヘイビア: "xyz"という名前のビヘイビアをアタッチします。
  • ビヘイビアのプロパティ: ビヘイビアのプロパティの値を設定します。

これはPHPのマジックメソッドであり、`$component->property = $value;`を実行した際に暗黙的に呼び出されるため、直接呼び出さないでください。

こちらも参照してください __get().

public void __set ( $name, $value )
$name string

プロパティ名またはイベント名

$value mixed

プロパティの値

例外 yii\base\UnknownPropertyException

プロパティが定義されていない場合

例外 yii\base\InvalidCallException

プロパティが読み取り専用の場合。

                public function __set($name, $value)
{
    $setter = 'set' . $name;
    if (method_exists($this, $setter)) {
        // set property
        $this->$setter($value);
        return;
    } elseif (strncmp($name, 'on ', 3) === 0) {
        // on event: attach event handler
        $this->on(trim(substr($name, 3)), $value);
        return;
    } elseif (strncmp($name, 'as ', 3) === 0) {
        // as behavior: attach behavior
        $name = trim(substr($name, 3));
        $this->attachBehavior($name, $value instanceof Behavior ? $value : Yii::createObject($value));
        return;
    }
    // behavior property
    $this->ensureBehaviors();
    foreach ($this->_behaviors as $behavior) {
        if ($behavior->canSetProperty($name)) {
            $behavior->$name = $value;
            return;
        }
    }
    if (method_exists($this, 'get' . $name)) {
        throw new InvalidCallException('Setting read-only property: ' . get_class($this) . '::' . $name);
    }
    throw new UnknownPropertyException('Setting unknown property: ' . get_class($this) . '::' . $name);
}

            
__unset() public メソッド

定義されている場所: yii\base\Component::__unset()

コンポーネントプロパティをnullに設定します。

このメソッドは、以下の順序でチェックを行い、それに応じて動作します。

  • セッターによって定義されたプロパティ: プロパティの値をnullに設定します。
  • ビヘイビアのプロパティ: プロパティの値をnullに設定します。

これはPHPのマジックメソッドであり、`unset($component->property)`を実行した際に暗黙的に呼び出されるため、直接呼び出さないでください。

こちらも参照してください https://www.php.net/manual/en/function.unset.php.

public void __unset ( $name )
$name string

プロパティ名

例外 yii\base\InvalidCallException

プロパティが読み取り専用の場合。

                public function __unset($name)
{
    $setter = 'set' . $name;
    if (method_exists($this, $setter)) {
        $this->$setter(null);
        return;
    }
    // behavior property
    $this->ensureBehaviors();
    foreach ($this->_behaviors as $behavior) {
        if ($behavior->canSetProperty($name)) {
            $behavior->$name = null;
            return;
        }
    }
    throw new InvalidCallException('Unsetting an unknown or read-only property: ' . get_class($this) . '::' . $name);
}

            
attachBehavior() public メソッド

定義されている場所: yii\base\Component::attachBehavior()

このコンポーネントにビヘイビアをアタッチします。

このメソッドは、指定された設定に基づいてビヘイビアオブジェクトを作成します。その後、yii\base\Behavior::attach()メソッドを呼び出すことで、ビヘイビアオブジェクトがこのコンポーネントにアタッチされます。

こちらも参照してください detachBehavior().

public yii\base\Behavior attachBehavior ( $name, $behavior )
$name string

ビヘイビアの名前。

$behavior string|array|yii\base\Behavior

ビヘイビアの設定。以下のいずれかになります。

  • yii\base\Behaviorオブジェクト
  • ビヘイビアクラスを指定する文字列
  • ビヘイビアオブジェクトを作成するためにYii::createObject()に渡されるオブジェクト設定配列。
戻り値 yii\base\Behavior

ビヘイビアオブジェクト

                public function attachBehavior($name, $behavior)
{
    $this->ensureBehaviors();
    return $this->attachBehaviorInternal($name, $behavior);
}

            
attachBehaviors() public メソッド

定義されている場所: yii\base\Component::attachBehaviors()

コンポーネントにビヘイビアのリストをアタッチします。

各ビヘイビアは名前でインデックスされており、yii\base\Behaviorオブジェクト、ビヘイビアクラスを指定する文字列、またはビヘイビアを作成するための設定配列である必要があります。

こちらも参照してください attachBehavior().

public void attachBehaviors ( $behaviors )
$behaviors array

コンポーネントにアタッチされるビヘイビアのリスト

                public function attachBehaviors($behaviors)
{
    $this->ensureBehaviors();
    foreach ($behaviors as $name => $behavior) {
        $this->attachBehaviorInternal($name, $behavior);
    }
}

            
behaviors() public メソッド

定義されている場所: yii\base\Component::behaviors()

このコンポーネントが備えるべきビヘイビアのリストを返します。

子クラスでは、このメソッドをオーバーライドして、ビヘイビアとして動作させたいビヘイビアを指定できます。

このメソッドの戻り値は、ビヘイビア名でインデックスされたビヘイビアオブジェクトまたは設定の配列である必要があります。ビヘイビアの設定は、ビヘイビアクラスを指定する文字列、または以下の構造の配列のいずれかになります。

'behaviorName' => [
    'class' => 'BehaviorClass',
    'property1' => 'value1',
    'property2' => 'value2',
]

ビヘイビアクラスはyii\base\Behaviorを拡張する必要があることに注意してください。ビヘイビアは名前付きで、または匿名でアタッチできます。配列キーとして名前を使用する場合、この名前を使用して、getBehavior()を使用してビヘイビアを取得したり、detachBehavior()を使用してビヘイビアをデタッチしたりできます。匿名ビヘイビアは取得またはデタッチできません。

このメソッドで宣言されたビヘイビアは、コンポーネントに自動的に(オンデマンドで)アタッチされます。

public array behaviors ( )
戻り値 array

ビヘイビアの設定。

                public function behaviors()
{
    return [];
}

            
canGetProperty() public メソッド

定義されている場所: yii\base\Component::canGetProperty()

プロパティを読み取ることができるかどうかを示す値を返します。

プロパティは、以下の場合に読み取ることができます。

  • クラスに、指定された名前に関連付けられたゲッターメソッドがある場合(この場合、プロパティ名はケースインセンシティブです)。
  • クラスに、指定された名前のメンバ変数がある場合(`$checkVars`がtrueの場合)。
  • アタッチされたビヘイビアに、指定された名前の読み取り可能なプロパティがある場合(`$checkBehaviors`がtrueの場合)。

こちらも参照してください canSetProperty().

public boolean canGetProperty ( $name, $checkVars true, $checkBehaviors true )
$name string

プロパティ名

$checkVars boolean

メンバ変数をプロパティとして扱うかどうか

$checkBehaviors boolean

ビヘイビアのプロパティをこのコンポーネントのプロパティとして扱うかどうか

戻り値 boolean

プロパティを読み取ることができるかどうか

                public function canGetProperty($name, $checkVars = true, $checkBehaviors = true)
{
    if (method_exists($this, 'get' . $name) || $checkVars && property_exists($this, $name)) {
        return true;
    } elseif ($checkBehaviors) {
        $this->ensureBehaviors();
        foreach ($this->_behaviors as $behavior) {
            if ($behavior->canGetProperty($name, $checkVars)) {
                return true;
            }
        }
    }
    return false;
}

            
canSetProperty() publicメソッド

定義位置: yii\base\Component::canSetProperty()

プロパティを設定できるかどうかを示す値を返します。

プロパティに値を書き込める条件は以下のとおりです。

  • 指定された名前(この場合、プロパティ名は大小文字を区別しません)に関連付けられたセッターメソッドがクラスに存在する場合。
  • クラスに、指定された名前のメンバ変数がある場合(`$checkVars`がtrueの場合)。
  • アタッチされたビヘイビアに、指定された名前の書き込み可能なプロパティが存在する場合($checkBehaviorsがtrueの場合)。

こちらも参照してください canGetProperty().

public boolean canSetProperty ( $name, $checkVars true, $checkBehaviors true )
$name string

プロパティ名

$checkVars boolean

メンバ変数をプロパティとして扱うかどうか

$checkBehaviors boolean

ビヘイビアのプロパティをこのコンポーネントのプロパティとして扱うかどうか

戻り値 boolean

プロパティに値を書き込めるかどうか

                public function canSetProperty($name, $checkVars = true, $checkBehaviors = true)
{
    if (method_exists($this, 'set' . $name) || $checkVars && property_exists($this, $name)) {
        return true;
    } elseif ($checkBehaviors) {
        $this->ensureBehaviors();
        foreach ($this->_behaviors as $behavior) {
            if ($behavior->canSetProperty($name, $checkVars)) {
                return true;
            }
        }
    }
    return false;
}

            
className() public staticメソッド
2.0.14以降非推奨。PHP 5.5以上では、代わりに::classを使用してください。

定義位置: yii\base\BaseObject::className()

このクラスの完全修飾名を返します。

public static string className ( )
戻り値 string

このクラスの完全修飾名。

                public static function className()
{
    return get_called_class();
}

            
createCsrfCookie() protectedメソッド

ランダムに生成されたCSRFトークンを含むCookieを作成します。

$csrfCookieで指定された初期値が生成されたCookieに適用されます。

こちらも参照してください $enableCsrfValidation.

protected yii\web\Cookie createCsrfCookie ( $token )
$token string

CSRFトークン

戻り値 yii\web\Cookie

生成されたCookie

                protected function createCsrfCookie($token)
{
    $options = $this->csrfCookie;
    return Yii::createObject(array_merge($options, [
        'class' => 'yii\web\Cookie',
        'name' => $this->csrfParam,
        'value' => $token,
    ]));
}

            
detachBehavior() publicメソッド

定義位置: yii\base\Component::detachBehavior()

コンポーネントからビヘイビアをデタッチします。

ビヘイビアのyii\base\Behavior::detach()メソッドが呼び出されます。

public yii\base\Behavior|null detachBehavior ( $name )
$name string

ビヘイビアの名前。

戻り値 yii\base\Behavior|null

デタッチされたビヘイビア。ビヘイビアが存在しない場合はNull。

                public function detachBehavior($name)
{
    $this->ensureBehaviors();
    if (isset($this->_behaviors[$name])) {
        $behavior = $this->_behaviors[$name];
        unset($this->_behaviors[$name]);
        $behavior->detach();
        return $behavior;
    }
    return null;
}

            
detachBehaviors() publicメソッド

定義位置: yii\base\Component::detachBehaviors()

コンポーネントからすべてのビヘイビアをデタッチします。

public void detachBehaviors ( )

                public function detachBehaviors()
{
    $this->ensureBehaviors();
    foreach ($this->_behaviors as $name => $behavior) {
        $this->detachBehavior($name);
    }
}

            
ensureBehaviors() publicメソッド

定義位置: yii\base\Component::ensureBehaviors()

behaviors()で宣言されたビヘイビアがこのコンポーネントにアタッチされていることを確認します。

public void ensureBehaviors ( )

                public function ensureBehaviors()
{
    if ($this->_behaviors === null) {
        $this->_behaviors = [];
        foreach ($this->behaviors() as $name => $behavior) {
            $this->attachBehaviorInternal($name, $behavior);
        }
    }
}

            
filterHeaders() protectedメソッド (2.0.13以降)

$trustedHostsに従ってヘッダーをフィルタリングします。

protected void filterHeaders ( yii\web\HeaderCollection $headerCollection )
$headerCollection yii\web\HeaderCollection

                protected function filterHeaders(HeaderCollection $headerCollection)
{
    $trustedHeaders = $this->getTrustedHeaders();
    // remove all secure headers unless they are trusted
    foreach ($this->secureHeaders as $secureHeader) {
        if (!in_array($secureHeader, $trustedHeaders)) {
            $headerCollection->remove($secureHeader);
        }
    }
}

            
generateCsrfToken() protectedメソッド

CSRF検証に使用するマスクされていないランダムトークンを生成します。

protected string generateCsrfToken ( )
戻り値 string

CSRF検証のためのランダムトークン。

                protected function generateCsrfToken()
{
    $token = Yii::$app->getSecurity()->generateRandomString();
    if ($this->enableCsrfCookie) {
        $cookie = $this->createCsrfCookie($token);
        Yii::$app->getResponse()->getCookies()->add($cookie);
    } else {
        Yii::$app->getSession()->set($this->csrfParam, $token);
    }
    return $token;
}

            
get() publicメソッド

指定された名前のGETパラメータを返します。名前が指定されていない場合は、すべてのGETパラメータの配列を返します。

public array|mixed get ( $name null, $defaultValue null )
$name string

パラメータ名

$defaultValue mixed

パラメータが存在しない場合のデフォルトのパラメータ値。

                public function get($name = null, $defaultValue = null)
{
    if ($name === null) {
        return $this->getQueryParams();
    }
    return $this->getQueryParam($name, $defaultValue);
}

            
getAbsoluteUrl() publicメソッド

現在要求されている絶対URLを返します。

これは$hostInfo$urlの連結へのショートカットです。

public string getAbsoluteUrl ( )
戻り値 string

現在リクエストされている絶対URL。

                public function getAbsoluteUrl()
{
    return $this->getHostInfo() . $this->getUrl();
}

            
getAcceptableContentTypes() publicメソッド

エンドユーザーが許容するコンテンツタイプを返します。

これは、Accept HTTPヘッダーによって決定されます。例えば、

$_SERVER['HTTP_ACCEPT'] = 'text/plain; q=0.5, application/json; version=1.0, application/xml; version=2.0;';
$types = $request->getAcceptableContentTypes();
print_r($types);
// displays:
// [
//     'application/json' => ['q' => 1, 'version' => '1.0'],
//      'application/xml' => ['q' => 1, 'version' => '2.0'],
//           'text/plain' => ['q' => 0.5],
// ]
public array getAcceptableContentTypes ( )
戻り値 array

品質スコア順に並べられたコンテンツタイプ。スコアの高いタイプが最初に返されます。配列のキーはコンテンツタイプ、配列の値は対応する品質スコアと、ヘッダーに指定されているその他のパラメータです。

                public function getAcceptableContentTypes()
{
    if ($this->_contentTypes === null) {
        if ($this->headers->get('Accept') !== null) {
            $this->_contentTypes = $this->parseAcceptHeader($this->headers->get('Accept'));
        } else {
            $this->_contentTypes = [];
        }
    }
    return $this->_contentTypes;
}

            
getAcceptableLanguages() publicメソッド

エンドユーザーが許容する言語を返します。

これは、Accept-Language HTTPヘッダーによって決定されます。

public array getAcceptableLanguages ( )
戻り値 array

優先順位に従ってソートされた言語リスト。最初の要素が最も優先度の高い言語を表します。

                public function getAcceptableLanguages()
{
    if ($this->_languages === null) {
        if ($this->headers->has('Accept-Language')) {
            $this->_languages = array_keys($this->parseAcceptHeader($this->headers->get('Accept-Language')));
        } else {
            $this->_languages = [];
        }
    }
    return $this->_languages;
}

            
getAuthCredentials() publicメソッド (2.0.13以降)

参照

  • ユーザー名のみを取得するにはgetAuthUser()を使用してください。
  • パスワードのみを取得するにはgetAuthPassword()を使用してください。
public array getAuthCredentials ( )
戻り値 array

正確に2つの要素を含む配列を返します。

  • 0: HTTP認証を介して送信されたユーザー名。ユーザー名が指定されていない場合はnull
  • 1: HTTP認証を介して送信されたパスワード。パスワードが指定されていない場合はnull

                public function getAuthCredentials()
{
    $username = isset($_SERVER['PHP_AUTH_USER']) ? $_SERVER['PHP_AUTH_USER'] : null;
    $password = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : null;
    if ($username !== null || $password !== null) {
        return [$username, $password];
    }
    /**
     * Apache with php-cgi does not pass HTTP Basic authentication to PHP by default.
     * To make it work, add one of the following lines to to your .htaccess file:
     *
     * SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0
     * --OR--
     * RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
     */
    $auth_token = $this->getHeaders()->get('Authorization');
    if ($auth_token !== null && strncasecmp($auth_token, 'basic', 5) === 0) {
        $parts = array_map(function ($value) {
            return strlen($value) === 0 ? null : $value;
        }, explode(':', base64_decode(mb_substr($auth_token, 6)), 2));
        if (count($parts) < 2) {
            return [$parts[0], null];
        }
        return $parts;
    }
    return [null, null];
}

            
getAuthPassword() publicメソッド

ユーザー名とパスワードを一度に取得するには、getAuthCredentials()も参照してください。

public string|null getAuthPassword ( )
戻り値 string|null

HTTP認証を介して送信されたパスワード。パスワードが指定されていない場合はnull

                public function getAuthPassword()
{
    return $this->getAuthCredentials()[1];
}

            
getAuthUser() publicメソッド

ユーザー名とパスワードを一度に取得するには、getAuthCredentials()も参照してください。

public string|null getAuthUser ( )
戻り値 string|null

HTTP認証を介して送信されたユーザー名。ユーザー名が指定されていない場合はnull

                public function getAuthUser()
{
    return $this->getAuthCredentials()[0];
}

            
getBaseUrl() publicメソッド

アプリケーションの相対URLを返します。

これは$scriptUrlに似ていますが、スクリプトファイル名は含まれず、末尾のスラッシュは削除されます。

setScriptUrl()も参照してください。

public string getBaseUrl ( )
戻り値 string

アプリケーションの相対URL

                public function getBaseUrl()
{
    if ($this->_baseUrl === null) {
        $this->_baseUrl = rtrim(dirname($this->getScriptUrl()), '\\/');
    }
    return $this->_baseUrl;
}

            
getBehavior() publicメソッド

定義されている場所: yii\base\Component::getBehavior()

指定された名前のビヘイビアオブジェクトを返します。

public yii\base\Behavior|null getBehavior ( $name )
$name string

ビヘイビア名

戻り値 yii\base\Behavior|null

ビヘイビアオブジェクト。ビヘイビアが存在しない場合はnull

                public function getBehavior($name)
{
    $this->ensureBehaviors();
    return isset($this->_behaviors[$name]) ? $this->_behaviors[$name] : null;
}

            
getBehaviors() publicメソッド

定義されている場所: yii\base\Component::getBehaviors()

このコンポーネントにアタッチされているすべてのビヘイビアを返します。

public yii\base\Behavior[] getBehaviors ( )
戻り値 yii\base\Behavior[]

このコンポーネントにアタッチされているビヘイビアのリスト

                public function getBehaviors()
{
    $this->ensureBehaviors();
    return $this->_behaviors;
}

            
getBodyParam() publicメソッド

指定された名前のリクエストボディパラメータの値を返します。

パラメータが存在しない場合、このメソッドに渡された2番目のパラメータが返されます。

参照

public mixed getBodyParam ( $name, $defaultValue null )
$name string

パラメータ名

$defaultValue mixed

パラメータが存在しない場合のデフォルトのパラメータ値。

戻り値 mixed

パラメータ値

                public function getBodyParam($name, $defaultValue = null)
{
    $params = $this->getBodyParams();
    if (is_object($params)) {
        // unable to use `ArrayHelper::getValue()` due to different dots in key logic and lack of exception handling
        try {
            return isset($params->{$name}) ? $params->{$name} : $defaultValue;
        } catch (\Exception $e) {
            return $defaultValue;
        }
    }
    return isset($params[$name]) ? $params[$name] : $defaultValue;
}

            
getBodyParams() publicメソッド

リクエストボディで指定されたリクエストパラメータを返します。

$parsersプロパティで設定されたパーサーを使用してリクエストパラメータが決定されます。現在の$contentTypeにパーサーが設定されていない場合、PHP関数mb_parse_str()を使用してリクエストボディを解析します。

参照

public array|object getBodyParams ( )
戻り値 array|object

リクエストボディで指定されたリクエストパラメータ。

例外 yii\base\InvalidConfigException

登録されたパーサーがyii\web\RequestParserInterfaceを実装していない場合。

                public function getBodyParams()
{
    if ($this->_bodyParams === null) {
        if (isset($_POST[$this->methodParam])) {
            $this->_bodyParams = $_POST;
            unset($this->_bodyParams[$this->methodParam]);
            return $this->_bodyParams;
        }
        $rawContentType = $this->getContentType();
        if (($pos = strpos((string)$rawContentType, ';')) !== false) {
            // e.g. text/html; charset=UTF-8
            $contentType = substr($rawContentType, 0, $pos);
        } else {
            $contentType = $rawContentType;
        }
        if (isset($this->parsers[$contentType])) {
            $parser = Yii::createObject($this->parsers[$contentType]);
            if (!($parser instanceof RequestParserInterface)) {
                throw new InvalidConfigException("The '$contentType' request parser is invalid. It must implement the yii\\web\\RequestParserInterface.");
            }
            $this->_bodyParams = $parser->parse($this->getRawBody(), $rawContentType);
        } elseif (isset($this->parsers['*'])) {
            $parser = Yii::createObject($this->parsers['*']);
            if (!($parser instanceof RequestParserInterface)) {
                throw new InvalidConfigException('The fallback request parser is invalid. It must implement the yii\\web\\RequestParserInterface.');
            }
            $this->_bodyParams = $parser->parse($this->getRawBody(), $rawContentType);
        } elseif ($this->getMethod() === 'POST') {
            // PHP has already parsed the body so we have all params in $_POST
            $this->_bodyParams = $_POST;
        } else {
            $this->_bodyParams = [];
            mb_parse_str($this->getRawBody(), $this->_bodyParams);
        }
    }
    return $this->_bodyParams;
}

            
getContentType() publicメソッド

リクエストのコンテンツタイプを返します。Content-Typeヘッダーフィールドは、getRawBody()に含まれるデータのMIMEタイプを示します。HEADメソッドの場合は、リクエストがGETであった場合に送信されていたであろうメディアタイプを示します。

ユーザーがレスポンスで期待するMIMEタイプについては、$acceptableContentTypesを参照してください。

public string getContentType ( )
戻り値 string

リクエストのコンテンツタイプ。この情報が利用できない場合は空文字列が返されます。

                public function getContentType()
{
    if (isset($_SERVER['CONTENT_TYPE'])) {
        return $_SERVER['CONTENT_TYPE'];
    }
    //fix bug https://bugs.php.net/bug.php?id=66606
    return $this->headers->get('Content-Type') ?: '';
}

            
getCookies() publicメソッド

Cookieコレクションを返します。

返されたCookieコレクションを通じて、次の構文を使用してCookieにアクセスできます。

$cookie = $request->cookies['name']
if ($cookie !== null) {
    $value = $cookie->value;
}

// alternatively
$value = $request->cookies->getValue('name');
public yii\web\CookieCollection getCookies ( )
戻り値 yii\web\CookieCollection

Cookieコレクション。

                public function getCookies()
{
    if ($this->_cookies === null) {
        $this->_cookies = new CookieCollection($this->loadCookies(), [
            'readOnly' => true,
        ]);
    }
    return $this->_cookies;
}

            
getCsrfToken() publicメソッド

CSRF検証に使用するトークンを返します。

このトークンは、BREACH攻撃を防ぐ方法で生成されます。CSRF検証をサポートするために、HTMLフォームの非表示フィールドまたはHTTPヘッダー値を介して渡すことができます。

public string getCsrfToken ( $regenerate false )
$regenerate boolean

CSRFトークンを再生成するかどうか。このパラメータがtrueの場合、このメソッドが呼び出されるたびに、新しいCSRFトークンが生成され、永続化されます(セッションまたはCookieに)。

戻り値 string

CSRF検証を実行するために使用されるトークン。

                public function getCsrfToken($regenerate = false)
{
    if ($this->_csrfToken === null || $regenerate) {
        $token = $this->loadCsrfToken();
        if ($regenerate || empty($token)) {
            $token = $this->generateCsrfToken();
        }
        $this->_csrfToken = Yii::$app->security->maskToken($token);
    }
    return $this->_csrfToken;
}

            
getCsrfTokenFromHeader() publicメソッド

public string|null getCsrfTokenFromHeader ( )
戻り値 string|null

ブラウザからCSRF_HEADERを介して送信されたCSRFトークン。ヘッダーが送信されていない場合はnullが返されます。

                public function getCsrfTokenFromHeader()
{
    return $this->headers->get(static::CSRF_HEADER);
}

            
getETags() publicメソッド

ETagを取得します。

public array getETags ( )
戻り値 array

エンティティタグ

                public function getETags()
{
    if ($this->headers->has('If-None-Match')) {
        return preg_split('/[\s,]+/', str_replace('-gzip', '', $this->headers->get('If-None-Match')), -1, PREG_SPLIT_NO_EMPTY);
    }
    return [];
}

            
getHeaders() publicメソッド

ヘッダーコレクションを返します。

ヘッダーコレクションには、受信したHTTPヘッダーが含まれています。

public yii\web\HeaderCollection getHeaders ( )
戻り値 yii\web\HeaderCollection

ヘッダーコレクション

                public function getHeaders()
{
    if ($this->_headers === null) {
        $this->_headers = new HeaderCollection();
        if (function_exists('getallheaders')) {
            $headers = getallheaders();
            foreach ($headers as $name => $value) {
                $this->_headers->add($name, $value);
            }
        } elseif (function_exists('http_get_request_headers')) {
            $headers = http_get_request_headers();
            foreach ($headers as $name => $value) {
                $this->_headers->add($name, $value);
            }
        } else {
            // ['prefix' => length]
            $headerPrefixes = ['HTTP_' => 5, 'REDIRECT_HTTP_' => 14];
            foreach ($_SERVER as $name => $value) {
                foreach ($headerPrefixes as $prefix => $length) {
                    if (strncmp($name, $prefix, $length) === 0) {
                        $name = str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, $length)))));
                        $this->_headers->add($name, $value);
                        continue 2;
                    }
                }
            }
        }
        $this->filterHeaders($this->_headers);
    }
    return $this->_headers;
}

            
getHostInfo() publicメソッド

現在のリクエストURLのスキーマとホスト部分を返します。

返されるURLには、末尾のスラッシュがありません。

デフォルトでは、この値はユーザーのリクエスト情報に基づいています。このメソッドは、利用可能な場合は`$_SERVER['HTTP_HOST']`の値を、利用できない場合は`$_SERVER['SERVER_NAME']`の値を返します。これらの変数に関する詳細は、PHPドキュメントを参照してください。

hostInfoプロパティを設定することで、明示的に指定できます。

警告: サーバーの設定によっては、この情報は信頼できない可能性があり、HTTPリクエストを送信するユーザーによって偽造される可能性があります。Webサーバーが`Host`ヘッダーの値に関係なく同じサイトを提供するように構成されている場合、この値は信頼できません。このような状況では、Webサーバーの設定を修正するか、hostInfoプロパティを設定して値を明示的に設定する必要があります。サーバー設定にアクセスできない場合は、アプリケーションレベルでyii\filters\HostControlフィルターを設定して、このような攻撃から保護することができます。

setHostInfo()も参照してください。

public string|null getHostInfo ( )
戻り値 string|null

リクエストURLのスキーマとホスト名部分(必要に応じてポート番号付き)(例:`https://yii.dokyumento.jp`)、`$_SERVER`から取得できず、設定されていない場合はnull。

                public function getHostInfo()
{
    if ($this->_hostInfo === null) {
        $secure = $this->getIsSecureConnection();
        $http = $secure ? 'https' : 'http';
        if ($this->getSecureForwardedHeaderTrustedPart('host') !== null) {
            $this->_hostInfo = $http . '://' . $this->getSecureForwardedHeaderTrustedPart('host');
        } elseif ($this->headers->has('X-Forwarded-Host')) {
            $this->_hostInfo = $http . '://' . trim(explode(',', $this->headers->get('X-Forwarded-Host'))[0]);
        } elseif ($this->headers->has('X-Original-Host')) {
            $this->_hostInfo = $http . '://' . trim(explode(',', $this->headers->get('X-Original-Host'))[0]);
        } elseif ($this->headers->has('Host')) {
            $this->_hostInfo = $http . '://' . $this->headers->get('Host');
        } elseif (isset($_SERVER['SERVER_NAME'])) {
            $this->_hostInfo = $http . '://' . $_SERVER['SERVER_NAME'];
            $port = $secure ? $this->getSecurePort() : $this->getPort();
            if (($port !== 80 && !$secure) || ($port !== 443 && $secure)) {
                $this->_hostInfo .= ':' . $port;
            }
        }
    }
    return $this->_hostInfo;
}

            
getHostName() publicメソッド (バージョン2.0.10から利用可能)

現在のリクエストURLのホスト部分を返します。

現在のhostInfoプロパティから計算された値です。

警告: サーバーの設定によっては、この値の内容は信頼できない可能性があります。getHostInfo()を参照してください。

getHostInfo()も参照してください。

public string|null getHostName ( )
戻り値 string|null

リクエストURLのホスト名部分(例:`www.yiiframework.com`)

                public function getHostName()
{
    if ($this->_hostName === null) {
        $this->_hostName = parse_url((string)$this->getHostInfo(), PHP_URL_HOST);
    }
    return $this->_hostName;
}

            
getIpValidator() protectedメソッド (バージョン2.0.13から利用可能)

yii\validators\IpValidatorのインスタンスを作成します。

このメソッドをオーバーライドして、バリデーターを調整したり、異なるマッチング戦略を実装したりできます。

protected yii\validators\IpValidator getIpValidator ( )

                protected function getIpValidator()
{
    return new IpValidator();
}

            
getIsAjax() publicメソッド

これがAJAX(XMLHttpRequest)リクエストかどうかを返します。

クロスドメインリクエストの場合、ブラウザはデフォルトでX-Requested-Withヘッダーを設定しません。https://stackoverflow.com/questions/8163703/cross-domain-ajax-doesnt-send-x-requested-with-header

fetch()を使用している場合は、ヘッダーを手動で渡してください。

fetch(url, {
   method: 'GET',
   headers: {'X-Requested-With': 'XMLHttpRequest'}
})
public boolean getIsAjax ( )
戻り値 boolean

これがAJAX(XMLHttpRequest)リクエストかどうか。

                public function getIsAjax()
{
    return $this->headers->get('X-Requested-With') === 'XMLHttpRequest';
}

            
getIsConsoleRequest() publicメソッド

定義済み: yii\base\Request::getIsConsoleRequest()

現在のリクエストがコマンドラインを介して行われたかどうかを示す値を返します。

public boolean getIsConsoleRequest ( )
戻り値 boolean

現在のリクエストがコンソール経由で行われたかどうかを示す値

                public function getIsConsoleRequest()
{
    return $this->_isConsoleRequest !== null ? $this->_isConsoleRequest : PHP_SAPI === 'cli';
}

            
getIsDelete() publicメソッド

これがDELETEリクエストかどうかを返します。

public boolean getIsDelete ( )
戻り値 boolean

これがDELETEリクエストかどうか。

                public function getIsDelete()
{
    return $this->getMethod() === 'DELETE';
}

            
getIsFlash() publicメソッド

これがAdobe FlashまたはFlexリクエストかどうかを返します。

public boolean getIsFlash ( )
戻り値 boolean

これがAdobe FlashまたはAdobe Flexリクエストかどうか。

                public function getIsFlash()
{
    $userAgent = $this->headers->get('User-Agent', '');
    return stripos($userAgent, 'Shockwave') !== false
        || stripos($userAgent, 'Flash') !== false;
}

            
getIsGet() publicメソッド

これがGETリクエストかどうかを返します。

public boolean getIsGet ( )
戻り値 boolean

これがGETリクエストかどうか。

                public function getIsGet()
{
    return $this->getMethod() === 'GET';
}

            
getIsHead() publicメソッド

これがHEADリクエストかどうかを返します。

public boolean getIsHead ( )
戻り値 boolean

これがHEADリクエストかどうか。

                public function getIsHead()
{
    return $this->getMethod() === 'HEAD';
}

            
getIsOptions() publicメソッド

これがOPTIONSリクエストかどうかを返します。

public boolean getIsOptions ( )
戻り値 boolean

これがOPTIONSリクエストかどうか。

                public function getIsOptions()
{
    return $this->getMethod() === 'OPTIONS';
}

            
getIsPatch() publicメソッド

これがPATCHリクエストかどうかを返します。

public boolean getIsPatch ( )
戻り値 boolean

これがPATCHリクエストかどうか。

                public function getIsPatch()
{
    return $this->getMethod() === 'PATCH';
}

            
getIsPjax() publicメソッド

これがPJAXリクエストかどうかを返します。

public boolean getIsPjax ( )
戻り値 boolean

これがPJAXリクエストかどうか

                public function getIsPjax()
{
    return $this->getIsAjax() && $this->headers->has('X-Pjax');
}

            
getIsPost() publicメソッド

これがPOSTリクエストかどうかを返します。

public boolean getIsPost ( )
戻り値 boolean

これがPOSTリクエストかどうか。

                public function getIsPost()
{
    return $this->getMethod() === 'POST';
}

            
getIsPut() publicメソッド

これがPUTリクエストかどうかを返します。

public boolean getIsPut ( )
戻り値 boolean

これがPUTリクエストかどうか。

                public function getIsPut()
{
    return $this->getMethod() === 'PUT';
}

            
getIsSecureConnection() publicメソッド

リクエストがセキュアチャネル(https)を介して送信されたかどうかを返します。

public boolean getIsSecureConnection ( )
戻り値 boolean

リクエストがセキュアチャネル(https)経由で送信された場合

                public function getIsSecureConnection()
{
    if (isset($_SERVER['HTTPS']) && (strcasecmp($_SERVER['HTTPS'], 'on') === 0 || $_SERVER['HTTPS'] == 1)) {
        return true;
    }
    if (($proto = $this->getSecureForwardedHeaderTrustedPart('proto')) !== null) {
        return strcasecmp($proto, 'https') === 0;
    }
    foreach ($this->secureProtocolHeaders as $header => $values) {
        if (($headerValue = $this->headers->get($header, null)) !== null) {
            foreach ($values as $value) {
                if (strcasecmp($headerValue, $value) === 0) {
                    return true;
                }
            }
        }
    }
    return false;
}

            
getMethod() publicメソッド

現在のリクエストのメソッド(例:GET、POST、HEAD、PUT、PATCH、DELETE)を返します。

public string getMethod ( )
戻り値 string

リクエストメソッド(例:GET、POST、HEAD、PUT、PATCH、DELETE)。返される値は大文字に変換されます。

                public function getMethod()
{
    if (
        isset($_POST[$this->methodParam])
        // Never allow to downgrade request from WRITE methods (POST, PATCH, DELETE, etc)
        // to read methods (GET, HEAD, OPTIONS) for security reasons.
        && !in_array(strtoupper($_POST[$this->methodParam]), ['GET', 'HEAD', 'OPTIONS'], true)
    ) {
        return strtoupper($_POST[$this->methodParam]);
    }
    if ($this->headers->has('X-Http-Method-Override')) {
        return strtoupper($this->headers->get('X-Http-Method-Override'));
    }
    if (isset($_SERVER['REQUEST_METHOD'])) {
        return strtoupper($_SERVER['REQUEST_METHOD']);
    }
    return 'GET';
}

            
getOrigin() publicメソッド (バージョン2.0.13から利用可能)

CORSリクエストのURLオリジンを返します。

戻り値は、ブラウザから送信されたOrigin ヘッダーから取得されます。

originリクエストヘッダーは、フェッチの発生元を示します。パス情報は含まれず、サーバー名のみが含まれます。CORSリクエストやPOSTリクエストでも送信されます。refererヘッダーに似ていますが、refererヘッダーとは異なり、完全なパスは公開しません。詳細については、https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Originを参照してください。

getHeaders()も参照してください。

public string|null getOrigin ( )
戻り値 string|null

CORSリクエストのURLオリジン、利用できない場合はnull

                public function getOrigin()
{
    return $this->getHeaders()->get('origin');
}

            
getPathInfo() publicメソッド

現在要求されているURLのパス情報を返します。

パス情報は、エントリスクリプトの後、疑問符(クエリ文字列)の前にある部分です。先頭と末尾のスラッシュは両方削除されます。

public string getPathInfo ( )
戻り値 string

エントリスクリプトの後、疑問符の前にあるリクエストURLの一部。返されるパス情報は既にURLデコードされています。

例外 yii\base\InvalidConfigException

予期しないサーバー設定によりパス情報が判別できない場合

                public function getPathInfo()
{
    if ($this->_pathInfo === null) {
        $this->_pathInfo = $this->resolvePathInfo();
    }
    return $this->_pathInfo;
}

            
getPort() publicメソッド

安全でないリクエストに使用するポートを返します。

デフォルトは80、または現在のリクエストがセキュアでない場合はサーバーで指定されたポートです。

setPort()も参照してください。

public integer getPort ( )
戻り値 integer

安全でないリクエストのポート番号。

                public function getPort()
{
    if ($this->_port === null) {
        $serverPort = $this->getServerPort();
        $this->_port = !$this->getIsSecureConnection() && $serverPort !== null ? $serverPort : 80;
    }
    return $this->_port;
}

            
getPreferredLanguage() publicメソッド

このアプリケーションで使用するべきユーザーが優先する言語を返します。

言語解決は、ユーザーが優先する言語とアプリケーションでサポートされている言語に基づいています。このメソッドは最適な一致を見つけようとします。

public string getPreferredLanguage ( array $languages = [] )
$languages array

アプリケーションでサポートされている言語のリスト。これが空の場合、現在のアプリケーション言語がそれ以上の処理なしで返されます。

戻り値 string

アプリケーションが使用する言語。

                public function getPreferredLanguage(array $languages = [])
{
    if (empty($languages)) {
        return Yii::$app->language;
    }
    foreach ($this->getAcceptableLanguages() as $acceptableLanguage) {
        $acceptableLanguage = str_replace('_', '-', strtolower($acceptableLanguage));
        foreach ($languages as $language) {
            $normalizedLanguage = str_replace('_', '-', strtolower($language));
            if (
                $normalizedLanguage === $acceptableLanguage // en-us==en-us
                || strpos($acceptableLanguage, $normalizedLanguage . '-') === 0 // en==en-us
                || strpos($normalizedLanguage, $acceptableLanguage . '-') === 0 // en-us==en
            ) {
                return $language;
            }
        }
    }
    return reset($languages);
}

            
getQueryParam() publicメソッド

指定された名前のGETパラメータの値を返します。

GETパラメータが存在しない場合、このメソッドに渡された2番目のパラメータが返されます。

getBodyParam()も参照してください。

public mixed getQueryParam ( $name, $defaultValue null )
$name string

GETパラメータ名。

$defaultValue mixed

GETパラメータが存在しない場合のデフォルトのパラメータ値。

戻り値 mixed

GETパラメータ値。

                public function getQueryParam($name, $defaultValue = null)
{
    $params = $this->getQueryParams();
    return isset($params[$name]) ? $params[$name] : $defaultValue;
}

            
getQueryParams() publicメソッド

$queryStringで指定されたリクエストパラメータを返します。

パラメータが明示的に設定されていない場合、このメソッドは$_GETの内容を返します。

setQueryParams()も参照してください。

public array getQueryParams ( )
戻り値 array

リクエストGETパラメータの値。

                public function getQueryParams()
{
    if ($this->_queryParams === null) {
        return $_GET;
    }
    return $this->_queryParams;
}

            
getQueryString() publicメソッド

クエスチョンマークの後のリクエストURLの部分を返します。

public string getQueryString ( )
戻り値 string

リクエストURLの疑問符の後の部分。

                public function getQueryString()
{
    return isset($_SERVER['QUERY_STRING']) ? $_SERVER['QUERY_STRING'] : '';
}

            
getRawBody() publicメソッド

生のHTTPリクエストボディを返します。

public string getRawBody ( )
戻り値 string

リクエストボディ。

                public function getRawBody()
{
    if ($this->_rawBody === null) {
        $this->_rawBody = file_get_contents('php://input');
    }
    return $this->_rawBody;
}

            
getReferrer() publicメソッド

URLリファラーを返します。

public string|null getReferrer ( )
戻り値 string|null

URLリファラー。利用できない場合はnull。

                public function getReferrer()
{
    return $this->headers->get('Referer');
}

            
getRemoteHost() publicメソッド (バージョン2.0.13から利用可能)

この接続の反対側のホスト名を返します。

これは常に次のホップであり、ヘッダーは無視されます。

参照

public string|null getRemoteHost ( )
戻り値 string|null

リモートホスト名。利用できない場合はnull

                public function getRemoteHost()
{
    return isset($_SERVER['REMOTE_HOST']) ? $_SERVER['REMOTE_HOST'] : null;
}

            
getRemoteIP() publicメソッド (バージョン2.0.13から利用可能)

この接続の反対側のIPを返します。

これは常に次のホップであり、ヘッダーは無視されます。

public string|null getRemoteIP ( )
戻り値 string|null

リモートIPアドレス、利用できない場合はnull

                public function getRemoteIP()
{
    return isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : null;
}

            
getScriptFile() publicメソッド

エントリスクリプトファイルパスを返します。

デフォルトの実装では、単純に$_SERVER['SCRIPT_FILENAME']を返します。

public string getScriptFile ( )
戻り値 string

エントリスクリプトファイルのパス

例外 yii\base\InvalidConfigException

                public function getScriptFile()
{
    if (isset($this->_scriptFile)) {
        return $this->_scriptFile;
    }
    if (isset($_SERVER['SCRIPT_FILENAME'])) {
        return $_SERVER['SCRIPT_FILENAME'];
    }
    throw new InvalidConfigException('Unable to determine the entry script file path.');
}

            
getScriptUrl() publicメソッド

エントリスクリプトの相対URLを返します。

このメソッドの実装は、Zend FrameworkのZend_Controller_Request_Httpを参照しています。

public string getScriptUrl ( )
戻り値 string

エントリスクリプトの相対URL。

例外 yii\base\InvalidConfigException

エントリスクリプトURLを判別できない場合

                public function getScriptUrl()
{
    if ($this->_scriptUrl === null) {
        $scriptFile = $this->getScriptFile();
        $scriptName = basename($scriptFile);
        if (isset($_SERVER['SCRIPT_NAME']) && basename($_SERVER['SCRIPT_NAME']) === $scriptName) {
            $this->_scriptUrl = $_SERVER['SCRIPT_NAME'];
        } elseif (isset($_SERVER['PHP_SELF']) && basename($_SERVER['PHP_SELF']) === $scriptName) {
            $this->_scriptUrl = $_SERVER['PHP_SELF'];
        } elseif (isset($_SERVER['ORIG_SCRIPT_NAME']) && basename($_SERVER['ORIG_SCRIPT_NAME']) === $scriptName) {
            $this->_scriptUrl = $_SERVER['ORIG_SCRIPT_NAME'];
        } elseif (isset($_SERVER['PHP_SELF']) && ($pos = strpos($_SERVER['PHP_SELF'], '/' . $scriptName)) !== false) {
            $this->_scriptUrl = substr($_SERVER['SCRIPT_NAME'], 0, $pos) . '/' . $scriptName;
        } elseif (!empty($_SERVER['DOCUMENT_ROOT']) && strpos($scriptFile, $_SERVER['DOCUMENT_ROOT']) === 0) {
            $this->_scriptUrl = str_replace([$_SERVER['DOCUMENT_ROOT'], '\\'], ['', '/'], $scriptFile);
        } else {
            throw new InvalidConfigException('Unable to determine the entry script URL.');
        }
    }
    return $this->_scriptUrl;
}

            
getSecureForwardedHeaderParts() protectedメソッド (バージョン2.0.31から利用可能)

デコードされた転送ヘッダーを返します。

protected array getSecureForwardedHeaderParts ( )

                protected function getSecureForwardedHeaderParts()
{
    if ($this->_secureForwardedHeaderParts !== null) {
        return $this->_secureForwardedHeaderParts;
    }
    if (count(preg_grep('/^forwarded$/i', $this->secureHeaders)) === 0) {
        return $this->_secureForwardedHeaderParts = [];
    }
    /*
     * First header is always correct, because proxy CAN add headers
     * after last one is found.
     * Keep in mind that it is NOT enforced, therefore we cannot be
     * sure, that this is really a first one.
     *
     * FPM keeps last header sent which is a bug. You need to merge
     * headers together on your web server before letting FPM handle it
     * @see https://bugs.php.net/bug.php?id=78844
     */
    $forwarded = $this->headers->get('Forwarded', '');
    if ($forwarded === '') {
        return $this->_secureForwardedHeaderParts = [];
    }
    preg_match_all('/(?:[^",]++|"[^"]++")+/', $forwarded, $forwardedElements);
    foreach ($forwardedElements[0] as $forwardedPairs) {
        preg_match_all('/(?P<key>\w+)\s*=\s*(?:(?P<value>[^",;]*[^",;\s])|"(?P<value2>[^"]+)")/', $forwardedPairs, $matches, PREG_SET_ORDER);
        $this->_secureForwardedHeaderParts[] = array_reduce($matches, function ($carry, $item) {
            $value = $item['value'];
            if (isset($item['value2']) && $item['value2'] !== '') {
                $value = $item['value2'];
            }
            $carry[strtolower($item['key'])] = $value;
            return $carry;
        }, []);
    }
    return $this->_secureForwardedHeaderParts;
}

            
getSecureForwardedHeaderTrustedPart() protectedメソッド (バージョン2.0.31から利用可能)

トークンの最初のForwardedヘッダー値を取得します。

protected string|null getSecureForwardedHeaderTrustedPart ( $token )
$token string

ヘッダートークン

                protected function getSecureForwardedHeaderTrustedPart($token)
{
    $token = strtolower($token);
    if ($parts = $this->getSecureForwardedHeaderTrustedParts()) {
        $lastElement = array_pop($parts);
        if ($lastElement && isset($lastElement[$token])) {
            return $lastElement[$token];
        }
    }
    return null;
}

            
getSecureForwardedHeaderTrustedParts() protectedメソッド (バージョン2.0.31から利用可能)

信頼できるForwardedヘッダー部分のみを取得します。

protected array getSecureForwardedHeaderTrustedParts ( )

                protected function getSecureForwardedHeaderTrustedParts()
{
    if ($this->_secureForwardedHeaderTrustedParts !== null) {
        return $this->_secureForwardedHeaderTrustedParts;
    }
    $validator = $this->getIpValidator();
    $trustedHosts = [];
    foreach ($this->trustedHosts as $trustedCidr => $trustedCidrOrHeaders) {
        if (!is_array($trustedCidrOrHeaders)) {
            $trustedCidr = $trustedCidrOrHeaders;
        }
        $trustedHosts[] = $trustedCidr;
    }
    $validator->setRanges($trustedHosts);
    $this->_secureForwardedHeaderTrustedParts = array_filter(
        $this->getSecureForwardedHeaderParts(),
        function ($headerPart) use ($validator) {
            return isset($headerPart['for']) ? !$validator->validate($headerPart['for']) : true;
        }
    );
    return $this->_secureForwardedHeaderTrustedParts;
}

            
getSecurePort() publicメソッド

セキュアリクエストに使用するポートを返します。

デフォルトは443、または現在のリクエストがセキュアな場合はサーバーによって指定されたポート。

setSecurePort()も参照してください。

public integer getSecurePort ( )
戻り値 integer

セキュアリクエストのポート番号。

                public function getSecurePort()
{
    if ($this->_securePort === null) {
        $serverPort = $this->getServerPort();
        $this->_securePort = $this->getIsSecureConnection() && $serverPort !== null ? $serverPort : 443;
    }
    return $this->_securePort;
}

            
getServerName() publicメソッド

サーバー名を返します。

public string|null getServerName ( )
戻り値 string|null

サーバー名。利用できない場合はnull。

                public function getServerName()
{
    return isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : null;
}

            
getServerPort() publicメソッド

サーバーポート番号を返します。フォワーディングヘッダー(例:「X-Forwarded-Port」)を介してポートが指定され、リモートホストが「信頼できるホスト」である場合、そのポートが使用されます($portHeadersを参照)。そうでない場合は、デフォルトのサーバーポートが返されます。

$portHeadersも参照してください。

public integer|null getServerPort ( )
戻り値 integer|null

サーバーポート番号。利用できない場合はnull。

                public function getServerPort()
{
    foreach ($this->portHeaders as $portHeader) {
        if ($this->headers->has($portHeader)) {
            $port = $this->headers->get($portHeader);
            if ($port !== null) {
                return $port;
            }
        }
    }
    return isset($_SERVER['SERVER_PORT']) ? (int) $_SERVER['SERVER_PORT'] : null;
}

            
getTrustedHeaders() protectedメソッド (バージョン2.0.28から利用可能)

$trustedHostsに従って信頼できるヘッダー。

protected array getTrustedHeaders ( )

                protected function getTrustedHeaders()
{
    // do not trust any of the [[secureHeaders]] by default
    $trustedHeaders = [];
    // check if the client is a trusted host
    if (!empty($this->trustedHosts)) {
        $validator = $this->getIpValidator();
        $ip = $this->getRemoteIP();
        foreach ($this->trustedHosts as $cidr => $headers) {
            if (!is_array($headers)) {
                $cidr = $headers;
                $headers = $this->secureHeaders;
            }
            $validator->setRanges($cidr);
            if ($validator->validate($ip)) {
                $trustedHeaders = $headers;
                break;
            }
        }
    }
    return $trustedHeaders;
}

            
getUrl() publicメソッド

現在要求されている相対URLを返します。

これは、$hostInfo部分以降のURLの部分を指します。$queryString部分がある場合は、それも含まれます。

public string getUrl ( )
戻り値 string

現在要求されている相対URLです。返されるURIは、クライアントに応じてURLエンコードされている場合があります。

例外 yii\base\InvalidConfigException

サーバーの設定が通常と異なるためにURLを決定できない場合

                public function getUrl()
{
    if ($this->_url === null) {
        $this->_url = $this->resolveRequestUri();
    }
    return $this->_url;
}

            
getUserAgent() publicメソッド

ユーザーエージェントを返します。

public string|null getUserAgent ( )
戻り値 string|null

ユーザーエージェント。利用できない場合はnull。

                public function getUserAgent()
{
    return $this->headers->get('User-Agent');
}

            
getUserHost() publicメソッド

ユーザーホスト名を返します。

HOSTは、ヘッダーと/または$_SERVER変数を使用して決定されます。

public string|null getUserHost ( )
戻り値 string|null

ユーザーホスト名。利用できない場合はnull。

                public function getUserHost()
{
    $userIp = $this->getUserIpFromIpHeaders();
    if ($userIp === null) {
        return $this->getRemoteHost();
    }
    return gethostbyaddr($userIp);
}

            
getUserIP() publicメソッド

ユーザーIPアドレスを返します。

IPアドレスは、ヘッダーと/または$_SERVER変数を使用して決定されます。

public string|null getUserIP ( )
戻り値 string|null

ユーザーのIPアドレス。利用できない場合はnull。

                public function getUserIP()
{
    if ($this->_ip === null) {
        $this->_ip = $this->getUserIpFromIpHeaders();
        if ($this->_ip === null) {
            $this->_ip = $this->getRemoteIP();
        }
    }
    return $this->_ip;
}

            
getUserIpFromIpHeader() プロテクトメソッド (2.0.28以降で使用可能)

IPヘッダーからユーザーIPを返します。

参照

protected string|null getUserIpFromIpHeader ( $ips )
$ips string

コンマ区切りのIPリスト

戻り値 string|null

IPアドレス(文字列)。ヘッダーからIPアドレスを特定できない場合は、Nullを返します。

                protected function getUserIpFromIpHeader($ips)
{
    $ips = trim($ips);
    if ($ips === '') {
        return null;
    }
    $ips = preg_split('/\s*,\s*/', $ips, -1, PREG_SPLIT_NO_EMPTY);
    krsort($ips);
    $validator = $this->getIpValidator();
    $resultIp = null;
    foreach ($ips as $ip) {
        $validator->setRanges('any');
        if (!$validator->validate($ip) /* checking IP format */) {
            break;
        }
        $resultIp = $ip;
        $isTrusted = false;
        foreach ($this->trustedHosts as $trustedCidr => $trustedCidrOrHeaders) {
            if (!is_array($trustedCidrOrHeaders)) {
                $trustedCidr = $trustedCidrOrHeaders;
            }
            $validator->setRanges($trustedCidr);
            if ($validator->validate($ip) /* checking trusted range */) {
                $isTrusted = true;
                break;
            }
        }
        if (!$isTrusted) {
            break;
        }
    }
    return $resultIp;
}

            
getUserIpFromIpHeaders() プロテクトメソッド (2.0.28以降で使用可能)

$ipHeadersからユーザーIPアドレスを返します。

参照: $ipHeaders.

protected string|null getUserIpFromIpHeaders ( )
戻り値 string|null

ユーザーのIPアドレス。利用できない場合はnull。

                protected function getUserIpFromIpHeaders()
{
    $ip = $this->getSecureForwardedHeaderTrustedPart('for');
    if (
        $ip !== null && preg_match(
            '/^\[?(?P<ip>(?:(?:(?:[0-9a-f]{1,4}:){1,6}(?:[0-9a-f]{1,4})?(?:(?::[0-9a-f]{1,4}){1,6}))|(?:\d{1,3}\.){3}\d{1,3}))\]?(?::(?P<port>\d+))?$/',
            $ip,
            $matches
        )
    ) {
        $ip = $this->getUserIpFromIpHeader($matches['ip']);
        if ($ip !== null) {
            return $ip;
        }
    }
    foreach ($this->ipHeaders as $ipHeader) {
        if ($this->headers->has($ipHeader)) {
            $ip = $this->getUserIpFromIpHeader($this->headers->get($ipHeader));
            if ($ip !== null) {
                return $ip;
            }
        }
    }
    return null;
}

            
hasEventHandlers() パブリックメソッド

定義済み: yii\base\Component::hasEventHandlers()

指定されたイベントにアタッチされたハンドラーがあるかどうかを示す値を返します。

public boolean hasEventHandlers ( $name )
$name string

イベント名

戻り値 boolean

イベントにハンドラーがアタッチされているかどうか。

                public function hasEventHandlers($name)
{
    $this->ensureBehaviors();
    if (!empty($this->_events[$name])) {
        return true;
    }
    foreach ($this->_eventWildcards as $wildcard => $handlers) {
        if (!empty($handlers) && StringHelper::matchWildcard($wildcard, $name)) {
            return true;
        }
    }
    return Event::hasHandlers($this, $name);
}

            
hasMethod() パブリックメソッド

定義済み: yii\base\Component::hasMethod()

メソッドが定義されているかどうかを示す値を返します。

メソッドが定義されている場合

  • クラスが指定された名前のメソッドを持っている場合
  • アタッチされたビヘイビアが指定された名前のメソッドを持っている場合($checkBehaviorsがtrueの場合)。
public boolean hasMethod ( $name, $checkBehaviors true )
$name string

プロパティ名

$checkBehaviors boolean

ビヘイビアのメソッドをこのコンポーネントのメソッドとして扱うかどうか

戻り値 boolean

メソッドが定義されているかどうか

                public function hasMethod($name, $checkBehaviors = true)
{
    if (method_exists($this, $name)) {
        return true;
    } elseif ($checkBehaviors) {
        $this->ensureBehaviors();
        foreach ($this->_behaviors as $behavior) {
            if ($behavior->hasMethod($name)) {
                return true;
            }
        }
    }
    return false;
}

            
hasProperty() パブリックメソッド

定義済み: yii\base\Component::hasProperty()

このコンポーネントのプロパティが定義されているかどうかを示す値を返します。

プロパティが定義されている場合

  • クラスが指定された名前と関連付けられたゲッターまたはセッターメソッドを持っている場合(この場合、プロパティ名はケースインセンシティブです)。
  • クラスに、指定された名前のメンバ変数がある場合(`$checkVars`がtrueの場合)。
  • アタッチされたビヘイビアが指定された名前のプロパティを持っている場合($checkBehaviorsがtrueの場合)。

参照

public boolean hasProperty ( $name, $checkVars true, $checkBehaviors true )
$name string

プロパティ名

$checkVars boolean

メンバ変数をプロパティとして扱うかどうか

$checkBehaviors boolean

ビヘイビアのプロパティをこのコンポーネントのプロパティとして扱うかどうか

戻り値 boolean

プロパティが定義されているかどうか

                public function hasProperty($name, $checkVars = true, $checkBehaviors = true)
{
    return $this->canGetProperty($name, $checkVars, $checkBehaviors) || $this->canSetProperty($name, false, $checkBehaviors);
}

            
init() パブリックメソッド

定義済み: yii\base\BaseObject::init()

オブジェクトを初期化します。

このメソッドは、オブジェクトが指定された設定で初期化された後、コンストラクターの最後に呼び出されます。

public void init ( )

                public function init()
{
}

            
loadCookies() プロテクトメソッド

$_COOKIEyii\web\Cookieの配列に変換します。

protected array loadCookies ( )
戻り値 array

リクエストから取得したクッキー

例外 yii\base\InvalidConfigException

$cookieValidationKey が設定されていない場合、$enableCookieValidation がtrueの場合

                protected function loadCookies()
{
    $cookies = [];
    if ($this->enableCookieValidation) {
        if ($this->cookieValidationKey == '') {
            throw new InvalidConfigException(get_class($this) . '::cookieValidationKey must be configured with a secret key.');
        }
        foreach ($_COOKIE as $name => $value) {
            if (!is_string($value)) {
                continue;
            }
            $data = Yii::$app->getSecurity()->validateData($value, $this->cookieValidationKey);
            if ($data === false) {
                continue;
            }
            if (defined('PHP_VERSION_ID') && PHP_VERSION_ID >= 70000) {
                $data = @unserialize($data, ['allowed_classes' => false]);
            } else {
                $data = @unserialize($data);
            }
            if (is_array($data) && isset($data[0], $data[1]) && $data[0] === $name) {
                $cookies[$name] = Yii::createObject([
                    'class' => 'yii\web\Cookie',
                    'name' => $name,
                    'value' => $data[1],
                    'expire' => null,
                ]);
            }
        }
    } else {
        foreach ($_COOKIE as $name => $value) {
            $cookies[$name] = Yii::createObject([
                'class' => 'yii\web\Cookie',
                'name' => $name,
                'value' => $value,
                'expire' => null,
            ]);
        }
    }
    return $cookies;
}

            
loadCsrfToken() プロテクトメソッド

CookieまたはセッションからCSRFトークンを読み込みます。

protected string|null loadCsrfToken ( )
戻り値 string|null

クッキーまたはセッションからロードされたCSRFトークン。クッキーまたはセッションにCSRFトークンがない場合はNullを返します。

                protected function loadCsrfToken()
{
    if ($this->enableCsrfCookie) {
        return $this->getCookies()->getValue($this->csrfParam);
    }
    return Yii::$app->getSession()->get($this->csrfParam);
}

            
off() パブリックメソッド

定義済み: yii\base\Component::off()

このコンポーネントから既存のイベントハンドラーをデタッチします。

このメソッドは、on() の反対です。

注:イベント名にワイルドカードパターンが渡された場合、このワイルドカードで登録されたハンドラーのみが削除され、このワイルドカードと一致するプレーン名で登録されたハンドラーは残ります。

参照: on().

public boolean off ( $name, $handler null )
$name string

イベント名

$handler callable|null

削除するイベントハンドラー。Nullの場合は、指定されたイベントにアタッチされているすべてのハンドラーが削除されます。

戻り値 boolean

ハンドラーが見つかり、デタッチされた場合

                public function off($name, $handler = null)
{
    $this->ensureBehaviors();
    if (empty($this->_events[$name]) && empty($this->_eventWildcards[$name])) {
        return false;
    }
    if ($handler === null) {
        unset($this->_events[$name], $this->_eventWildcards[$name]);
        return true;
    }
    $removed = false;
    // plain event names
    if (isset($this->_events[$name])) {
        foreach ($this->_events[$name] as $i => $event) {
            if ($event[0] === $handler) {
                unset($this->_events[$name][$i]);
                $removed = true;
            }
        }
        if ($removed) {
            $this->_events[$name] = array_values($this->_events[$name]);
            return true;
        }
    }
    // wildcard event names
    if (isset($this->_eventWildcards[$name])) {
        foreach ($this->_eventWildcards[$name] as $i => $event) {
            if ($event[0] === $handler) {
                unset($this->_eventWildcards[$name][$i]);
                $removed = true;
            }
        }
        if ($removed) {
            $this->_eventWildcards[$name] = array_values($this->_eventWildcards[$name]);
            // remove empty wildcards to save future redundant regex checks:
            if (empty($this->_eventWildcards[$name])) {
                unset($this->_eventWildcards[$name]);
            }
        }
    }
    return $removed;
}

            
on() パブリックメソッド

定義済み: yii\base\Component::on()

イベントにイベントハンドラーをアタッチします。

イベントハンドラーは有効なPHPコールバックである必要があります。いくつかの例を以下に示します。

function ($event) { ... }         // anonymous function
[$object, 'handleClick']          // $object->handleClick()
['Page', 'handleClick']           // Page::handleClick()
'handleClick'                     // global function handleClick()

イベントハンドラーは、以下のシグネチャで定義する必要があります。

function ($event)

ここで、$eventは、イベントに関連付けられたパラメーターを含むyii\base\Eventオブジェクトです。

2.0.14以降、イベント名をワイルドカードパターンとして指定できます。

$component->on('event.group.*', function ($event) {
    Yii::trace($event->name . ' is triggered.');
});

参照: off().

public void on ( $name, $handler, $data null, $append true )
$name string

イベント名

$handler callable

イベントハンドラー

$data mixed

イベントが発生したときにイベントハンドラーに渡されるデータ。イベントハンドラーが呼び出されると、このデータはyii\base\Event::$dataからアクセスできます。

$append boolean

既存のハンドラーリストの最後に新しいイベントハンドラーを追加するかどうか。falseの場合、新しいハンドラーは既存のハンドラーリストの先頭に挿入されます。

                public function on($name, $handler, $data = null, $append = true)
{
    $this->ensureBehaviors();
    if (strpos($name, '*') !== false) {
        if ($append || empty($this->_eventWildcards[$name])) {
            $this->_eventWildcards[$name][] = [$handler, $data];
        } else {
            array_unshift($this->_eventWildcards[$name], [$handler, $data]);
        }
        return;
    }
    if ($append || empty($this->_events[$name])) {
        $this->_events[$name][] = [$handler, $data];
    } else {
        array_unshift($this->_events[$name], [$handler, $data]);
    }
}

            
parseAcceptHeader() パブリックメソッド

指定されたAccept(またはAccept-Language)ヘッダーを解析します。

このメソッドは、指定された`Accept`ヘッダーで指定された品質スコアと対応するパラメーターを含む許容値を返します。戻り値の配列キーは許容値で、配列値は対応する品質スコアとパラメーターで構成されます。品質スコアが最も高い許容値が最初に返されます。例えば、

$header = 'text/plain; q=0.5, application/json; version=1.0, application/xml; version=2.0;';
$accepts = $request->parseAcceptHeader($header);
print_r($accepts);
// displays:
// [
//     'application/json' => ['q' => 1, 'version' => '1.0'],
//      'application/xml' => ['q' => 1, 'version' => '2.0'],
//           'text/plain' => ['q' => 0.5],
// ]
public array parseAcceptHeader ( $header )
$header string

解析するヘッダー

戻り値 array

品質スコアでソートされた許容値。スコアの高い値が最初に返されます。

                public function parseAcceptHeader($header)
{
    $accepts = [];
    foreach (explode(',', $header) as $i => $part) {
        $params = preg_split('/\s*;\s*/', trim($part), -1, PREG_SPLIT_NO_EMPTY);
        if (empty($params)) {
            continue;
        }
        $values = [
            'q' => [$i, array_shift($params), 1],
        ];
        foreach ($params as $param) {
            if (strpos($param, '=') !== false) {
                list($key, $value) = explode('=', $param, 2);
                if ($key === 'q') {
                    $values['q'][2] = (float) $value;
                } else {
                    $values[$key] = $value;
                }
            } else {
                $values[] = $param;
            }
        }
        $accepts[] = $values;
    }
    usort($accepts, function ($a, $b) {
        $a = $a['q']; // index, name, q
        $b = $b['q'];
        if ($a[2] > $b[2]) {
            return -1;
        }
        if ($a[2] < $b[2]) {
            return 1;
        }
        if ($a[1] === $b[1]) {
            return $a[0] > $b[0] ? 1 : -1;
        }
        if ($a[1] === '*/*') {
            return 1;
        }
        if ($b[1] === '*/*') {
            return -1;
        }
        $wa = $a[1][strlen($a[1]) - 1] === '*';
        $wb = $b[1][strlen($b[1]) - 1] === '*';
        if ($wa xor $wb) {
            return $wa ? 1 : -1;
        }
        return $a[0] > $b[0] ? 1 : -1;
    });
    $result = [];
    foreach ($accepts as $accept) {
        $name = $accept['q'][1];
        $accept['q'] = $accept['q'][2];
        $result[$name] = $accept;
    }
    return $result;
}

            
post() publicメソッド

指定された名前のPOSTパラメータを返します。名前が指定されていない場合は、すべてのPOSTパラメータの配列を返します。

public array|mixed post ( $name null, $defaultValue null )
$name string

パラメータ名

$defaultValue mixed

パラメータが存在しない場合のデフォルトのパラメータ値。

                public function post($name = null, $defaultValue = null)
{
    if ($name === null) {
        return $this->getBodyParams();
    }
    return $this->getBodyParam($name, $defaultValue);
}

            
resolve() publicメソッド

現在のリクエストをルートと関連パラメータに解決します。

public array resolve ( )
戻り値 array

最初の要素はルート、2番目の要素は関連するパラメータです。

例外 yii\web\NotFoundHttpException

リクエストを解決できない場合。

                public function resolve()
{
    $result = Yii::$app->getUrlManager()->parseRequest($this);
    if ($result !== false) {
        list($route, $params) = $result;
        if ($this->_queryParams === null) {
            $_GET = $params + $_GET; // preserve numeric keys
        } else {
            $this->_queryParams = $params + $this->_queryParams;
        }
        return [$route, $this->getQueryParams()];
    }
    throw new NotFoundHttpException(Yii::t('yii', 'Page not found.'));
}

            
resolvePathInfo() protectedメソッド

現在要求されているURLのパス情報部分を解決します。

パス情報は、エントリスクリプトの後、疑問符(クエリ文字列)の前にある部分です。先頭のスラッシュは両方削除されます(末尾のスラッシュは保持されます)。

protected string resolvePathInfo ( )
戻り値 string

エントリスクリプトの後、疑問符の前にあるリクエストURLの一部。返されるパス情報はデコードされていることに注意してください。

例外 yii\base\InvalidConfigException

予期しないサーバー設定によりパス情報が判別できない場合

                protected function resolvePathInfo()
{
    $pathInfo = $this->getUrl();
    if (($pos = strpos($pathInfo, '?')) !== false) {
        $pathInfo = substr($pathInfo, 0, $pos);
    }
    $pathInfo = urldecode($pathInfo);
    // try to encode in UTF8 if not so
    // https://www.w3.org/International/questions/qa-forms-utf-8.en.html
    if (
        !preg_match('%^(?:
        [\x09\x0A\x0D\x20-\x7E]              # ASCII
        | [\xC2-\xDF][\x80-\xBF]             # non-overlong 2-byte
        | \xE0[\xA0-\xBF][\x80-\xBF]         # excluding overlongs
        | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # straight 3-byte
        | \xED[\x80-\x9F][\x80-\xBF]         # excluding surrogates
        | \xF0[\x90-\xBF][\x80-\xBF]{2}      # planes 1-3
        | [\xF1-\xF3][\x80-\xBF]{3}          # planes 4-15
        | \xF4[\x80-\x8F][\x80-\xBF]{2}      # plane 16
        )*$%xs', $pathInfo)
    ) {
        $pathInfo = $this->utf8Encode($pathInfo);
    }
    $scriptUrl = $this->getScriptUrl();
    $baseUrl = $this->getBaseUrl();
    if (strpos($pathInfo, $scriptUrl) === 0) {
        $pathInfo = substr($pathInfo, strlen($scriptUrl));
    } elseif ($baseUrl === '' || strpos($pathInfo, $baseUrl) === 0) {
        $pathInfo = substr($pathInfo, strlen($baseUrl));
    } elseif (isset($_SERVER['PHP_SELF']) && strpos($_SERVER['PHP_SELF'], $scriptUrl) === 0) {
        $pathInfo = substr($_SERVER['PHP_SELF'], strlen($scriptUrl));
    } else {
        throw new InvalidConfigException('Unable to determine the path info of the current request.');
    }
    if (strncmp($pathInfo, '/', 1) === 0) {
        $pathInfo = substr($pathInfo, 1);
    }
    return (string) $pathInfo;
}

            
resolveRequestUri() protectedメソッド

現在要求されているURLのリクエストURI部分を解決します。

これは$hostInfo部分の後の部分です。$queryString部分が存在する場合はそれも含まれます。このメソッドの実装は、Zend FrameworkのZend_Controller_Request_Httpを参照しています。

protected string|boolean resolveRequestUri ( )
戻り値 string|boolean

現在リクエストされているURLのリクエストURI部分。返されるURIは、クライアントによってURLエンコードされている場合があります。

例外 yii\base\InvalidConfigException

異常なサーバー構成によりリクエストURIを決定できない場合

                protected function resolveRequestUri()
{
    if ($this->headers->has('X-Rewrite-Url')) { // IIS
        $requestUri = $this->headers->get('X-Rewrite-Url');
    } elseif (isset($_SERVER['REQUEST_URI'])) {
        $requestUri = $_SERVER['REQUEST_URI'];
        if ($requestUri !== '' && $requestUri[0] !== '/') {
            $requestUri = preg_replace('/^(http|https):\/\/[^\/]+/i', '', $requestUri);
        }
    } elseif (isset($_SERVER['ORIG_PATH_INFO'])) { // IIS 5.0 CGI
        $requestUri = $_SERVER['ORIG_PATH_INFO'];
        if (!empty($_SERVER['QUERY_STRING'])) {
            $requestUri .= '?' . $_SERVER['QUERY_STRING'];
        }
    } else {
        throw new InvalidConfigException('Unable to determine the request URI.');
    }
    return $requestUri;
}

            
setAcceptableContentTypes() publicメソッド

許容されるコンテンツタイプを設定します。

getAcceptableContentTypes()のパラメータの形式については、そちらを参照してください。

参照

public void setAcceptableContentTypes ( $value )
$value array

エンドユーザーが許容するコンテンツタイプ。優先順位に従って並べられています。

                public function setAcceptableContentTypes($value)
{
    $this->_contentTypes = $value;
}

            
setAcceptableLanguages() publicメソッド

public void setAcceptableLanguages ( $value )
$value array

エンドユーザーが許容する言語。優先順位に従って並べられています。

                public function setAcceptableLanguages($value)
{
    $this->_languages = $value;
}

            
setBaseUrl() publicメソッド

アプリケーションの相対URLを設定します。

デフォルトでは、URLはエントリスクリプトのURLに基づいて決定されます。このセッターは、この動作を変更したい場合に提供されます。

public void setBaseUrl ( $value )
$value string

アプリケーションの相対URL

                public function setBaseUrl($value)
{
    $this->_baseUrl = $value;
}

            
setBodyParams() publicメソッド

リクエストボディパラメータを設定します。

getBodyParams()も参照してください。

public void setBodyParams ( $values )
$values array|object

リクエストボディパラメータ(名前と値のペア)

                public function setBodyParams($values)
{
    $this->_bodyParams = $values;
}

            
setHostInfo() publicメソッド

アプリケーションURLのスキーマとホスト部分を設定します。

このセッターは、特定のWebサーバーでスキーマとホスト名を確認できない場合に提供されます。

このプロパティに関するセキュリティに関するメモについては、getHostInfo()も参照してください。

public void setHostInfo ( $value )
$value string|null

アプリケーションURLのスキーマとホスト部分。末尾のスラッシュは削除されます。

                public function setHostInfo($value)
{
    $this->_hostName = null;
    $this->_hostInfo = $value === null ? null : rtrim($value, '/');
}

            
setIsConsoleRequest() publicメソッド

定義先: yii\base\Request::setIsConsoleRequest()

現在のリクエストがコマンドラインを介して行われたかどうかを示す値を設定します。

public void setIsConsoleRequest ( $value )
$value boolean

現在のリクエストがコマンドラインを介して行われたかどうかを示す値。

                public function setIsConsoleRequest($value)
{
    $this->_isConsoleRequest = $value;
}

            
setPathInfo() publicメソッド

現在のリクエストのパス情報を設定します。

このメソッドは主にテスト目的で提供されています。

public void setPathInfo ( $value )
$value string

現在のリクエストのパス情報。

                public function setPathInfo($value)
{
    $this->_pathInfo = $value === null ? null : ltrim($value, '/');
}

            
setPort() publicメソッド

安全でないリクエストに使用するポートを設定します。

このセッターは、特定のサーバー構成でカスタムポートが必要な場合に提供されます。

public void setPort ( $value )
$value integer

ポート番号。

                public function setPort($value)
{
    if ($value != $this->_port) {
        $this->_port = (int) $value;
        $this->_hostInfo = null;
    }
}

            
setQueryParams() publicメソッド

リクエストの$queryStringパラメータを設定します。

参照

public void setQueryParams ( $values )
$values array

リクエストクエリパラメータ(名前と値のペア)

                public function setQueryParams($values)
{
    $this->_queryParams = $values;
}

            
setRawBody() publicメソッド

生のHTTPリクエストボディを設定します。このメソッドは主に、生のHTTPリクエストをシミュレートするテストスクリプトで使用されます。

public void setRawBody ( $rawBody )
$rawBody string

リクエストボディ。

                public function setRawBody($rawBody)
{
    $this->_rawBody = $rawBody;
}

            
setScriptFile() publicメソッド

エントリスクリプトファイルパスを設定します。

エントリスクリプトファイルパスは通常、`$_SERVER['SCRIPT_FILENAME']`から取得できます。サーバー構成が正しい値を返さない場合は、このプロパティを構成して修正できます。

public void setScriptFile ( $value )
$value string

エントリスクリプトファイルパス。

                public function setScriptFile($value)
{
    $this->_scriptFile = $value;
}

            
setScriptUrl() publicメソッド

アプリケーションエントリスクリプトの相対URLを設定します。

このセッターは、特定のWebサーバーでエントリスクリプトURLを判別できない場合に提供されます。

public void setScriptUrl ( $value )
$value string

アプリケーションエントリスクリプトの相対URL。

                public function setScriptUrl($value)
{
    $this->_scriptUrl = $value === null ? null : '/' . trim($value, '/');
}

            
setSecurePort() publicメソッド

セキュアリクエストに使用するポートを設定します。

このセッターは、特定のサーバー構成でカスタムポートが必要な場合に提供されます。

public void setSecurePort ( $value )
$value integer

ポート番号。

                public function setSecurePort($value)
{
    if ($value != $this->_securePort) {
        $this->_securePort = (int) $value;
        $this->_hostInfo = null;
    }
}

            
setUrl() publicメソッド

現在要求されている相対URLを設定します。

URIは、$hostInfoの後の部分を参照する必要があります。URIはURLエンコードされている必要があることに注意してください。

public void setUrl ( $value )
$value string

設定するリクエストURI。

                public function setUrl($value)
{
    $this->_url = $value;
}

            
trigger() publicメソッド

定義先: yii\base\Component::trigger()

イベントをトリガーします。

このメソッドは、イベントの発生を表します。クラスレベルのハンドラを含む、イベントにアタッチされたすべてのハンドラを呼び出します。

public void trigger ( $name, yii\base\Event $event null )
$name string

イベント名

$event yii\base\Event|null

イベントインスタンス。設定されていない場合、デフォルトのyii\base\Eventオブジェクトが作成されます。

                public function trigger($name, Event $event = null)
{
    $this->ensureBehaviors();
    $eventHandlers = [];
    foreach ($this->_eventWildcards as $wildcard => $handlers) {
        if (StringHelper::matchWildcard($wildcard, $name)) {
            $eventHandlers[] = $handlers;
        }
    }
    if (!empty($this->_events[$name])) {
        $eventHandlers[] = $this->_events[$name];
    }
    if (!empty($eventHandlers)) {
        $eventHandlers = call_user_func_array('array_merge', $eventHandlers);
        if ($event === null) {
            $event = new Event();
        }
        if ($event->sender === null) {
            $event->sender = $this;
        }
        $event->handled = false;
        $event->name = $name;
        foreach ($eventHandlers as $handler) {
            $event->data = $handler[1];
            call_user_func($handler[0], $event);
            // stop further handling if the event is handled
            if ($event->handled) {
                return;
            }
        }
    }
    // invoke class-level attached handlers
    Event::trigger($this, $name, $event);
}

            
validateCsrfToken() publicメソッド

CSRF検証を実行します。

このメソッドは、クッキーまたはセッションに保存されているトークンと比較することにより、ユーザーが提供したCSRFトークンを検証します。このメソッドは主にyii\web\Controller::beforeAction()で呼び出されます。

$enableCsrfValidationがfalseの場合、またはHTTPメソッドがGET、HEAD、OPTIONSのいずれかの場合、このメソッドはCSRF検証を実行しません。

public boolean validateCsrfToken ( $clientSuppliedToken null )
$clientSuppliedToken string|null

検証するユーザーが提供したCSRFトークン。nullの場合、トークンは$csrfParam POSTフィールドまたはHTTPヘッダーから取得されます。このパラメータはバージョン2.0.4から利用可能です。

戻り値 boolean

CSRFトークンが有効かどうか。$enableCsrfValidationがfalseの場合、このメソッドはtrueを返します。

                public function validateCsrfToken($clientSuppliedToken = null)
{
    $method = $this->getMethod();
    // only validate CSRF token on non-"safe" methods https://tools.ietf.org/html/rfc2616#section-9.1.1
    if (!$this->enableCsrfValidation || in_array($method, ['GET', 'HEAD', 'OPTIONS'], true)) {
        return true;
    }
    $trueToken = $this->getCsrfToken();
    if ($clientSuppliedToken !== null) {
        return $this->validateCsrfTokenInternal($clientSuppliedToken, $trueToken);
    }
    return $this->validateCsrfTokenInternal($this->getBodyParam($this->csrfParam), $trueToken)
        || $this->validateCsrfTokenInternal($this->getCsrfTokenFromHeader(), $trueToken);
}