0 フォロワー

クラス yii\web\HeaderCollection

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

HeaderCollection は、現在登録されている HTTP ヘッダーを管理するために、yii\web\Response によって使用されます。

公開プロパティ

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

プロパティ 説明 定義元
$count integer コレクション内のヘッダーの数。 yii\web\HeaderCollection
$iterator ArrayIterator コレクション内のヘッダーを走査するためのイテレータ。 yii\web\HeaderCollection

公開メソッド

継承されたメソッドを非表示

メソッド 説明 定義元
__call() クラスメソッドではない名前付きメソッドを呼び出します。 yii\base\BaseObject
__construct() コンストラクタ。 yii\base\BaseObject
__get() オブジェクトのプロパティの値を返します。 yii\base\BaseObject
__isset() プロパティが設定されているか、つまり定義されていて null でないかを確認します。 yii\base\BaseObject
__set() オブジェクトのプロパティの値を設定します。 yii\base\BaseObject
__unset() オブジェクトのプロパティを null に設定します。 yii\base\BaseObject
add() 新しいヘッダーを追加します。 yii\web\HeaderCollection
canGetProperty() プロパティが読み取り可能かどうかを示す値を返します。 yii\base\BaseObject
canSetProperty() プロパティが設定可能かどうかを示す値を返します。 yii\base\BaseObject
className() このクラスの完全修飾名を返します。 yii\base\BaseObject
count() コレクション内のヘッダーの数を返します。 yii\web\HeaderCollection
fromArray() 配列からヘッダーコレクションを設定します。 yii\web\HeaderCollection
get() 指定された名前のヘッダーを返します。 yii\web\HeaderCollection
getCount() コレクション内のヘッダーの数を返します。 yii\web\HeaderCollection
getIterator() コレクション内のヘッダーを走査するためのイテレータを返します。 yii\web\HeaderCollection
has() 指定された名前のヘッダーが存在するかどうかを示す値を返します。 yii\web\HeaderCollection
hasMethod() メソッドが定義されているかどうかを示す値を返します。 yii\base\BaseObject
hasProperty() プロパティが定義されているかどうかを示す値を返します。 yii\base\BaseObject
init() オブジェクトを初期化します。 yii\base\BaseObject
offsetExists() 指定された名前のヘッダーが存在するかどうかを返します。 yii\web\HeaderCollection
offsetGet() 指定された名前のヘッダーを返します。 yii\web\HeaderCollection
offsetSet() ヘッダーをコレクションに追加します。 yii\web\HeaderCollection
offsetUnset() 指定された名前のヘッダーを削除します。 yii\web\HeaderCollection
remove() ヘッダーを削除します。 yii\web\HeaderCollection
removeAll() すべてのヘッダーを削除します。 yii\web\HeaderCollection
set() 新しいヘッダーを追加します。 yii\web\HeaderCollection
setDefault() まだ存在しない場合にのみ、新しいヘッダーを設定します。 yii\web\HeaderCollection
toArray() コレクションを PHP 配列として返します。 yii\web\HeaderCollection
toOriginalArray() コレクションを PHP 配列として返しますが、( toArray() のように) 正規化されたヘッダー名をキーとして使用する代わりに、元のヘッダー名(大文字と小文字を区別)を使用します。 yii\web\HeaderCollection

プロパティの詳細

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

$count public 読み取り専用 プロパティ

コレクション内のヘッダーの数。

public integer getCount ( )
$iterator public 読み取り専用 プロパティ

コレクション内のヘッダーを走査するためのイテレータ。

メソッドの詳細

継承されたメソッドを非表示

__call() public メソッド

定義元: yii\base\BaseObject::__call()

クラスメソッドではない名前付きメソッドを呼び出します。

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

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

メソッド名

$params array

メソッドのパラメータ

return mixed

メソッドの戻り値

throws yii\base\UnknownMethodException

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

                public function __call($name, $params)
{
    throw new UnknownMethodException('Calling unknown method: ' . get_class($this) . "::$name()");
}

            
__construct() public メソッド

定義元: 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\BaseObject::__get()

オブジェクトのプロパティの値を返します。

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

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

public mixed __get ( $name )
$name string

プロパティ名

return mixed

プロパティの値

throws yii\base\UnknownPropertyException

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

throws yii\base\InvalidCallException

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

                public function __get($name)
{
    $getter = 'get' . $name;
    if (method_exists($this, $getter)) {
        return $this->$getter();
    } elseif (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\BaseObject::__isset()

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

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

プロパティが定義されていない場合、false が返されることに注意してください。

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

public boolean __isset ( $name )
$name string

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

return boolean

指定されたプロパティが設定されているか (null ではないか) どうか。

                public function __isset($name)
{
    $getter = 'get' . $name;
    if (method_exists($this, $getter)) {
        return $this->$getter() !== null;
    }
    return false;
}

            
__set() public メソッド

定義元: yii\base\BaseObject::__set()

オブジェクトのプロパティの値を設定します。

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

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

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

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

$value mixed

プロパティの値

throws yii\base\UnknownPropertyException

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

throws yii\base\InvalidCallException

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

                public function __set($name, $value)
{
    $setter = 'set' . $name;
    if (method_exists($this, $setter)) {
        $this->$setter($value);
    } elseif (method_exists($this, 'get' . $name)) {
        throw new InvalidCallException('Setting read-only property: ' . get_class($this) . '::' . $name);
    } else {
        throw new UnknownPropertyException('Setting unknown property: ' . get_class($this) . '::' . $name);
    }
}

            
__unset() public メソッド

定義元: yii\base\BaseObject::__unset()

オブジェクトのプロパティを null に設定します。

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

プロパティが定義されていない場合、このメソッドは何もしません。プロパティが読み取り専用の場合、例外がスローされます。

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

public void __unset ( $name )
$name string

プロパティ名

throws yii\base\InvalidCallException

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

                public function __unset($name)
{
    $setter = 'set' . $name;
    if (method_exists($this, $setter)) {
        $this->$setter(null);
    } elseif (method_exists($this, 'get' . $name)) {
        throw new InvalidCallException('Unsetting read-only property: ' . get_class($this) . '::' . $name);
    }
}

            
add() public メソッド

新しいヘッダーを追加します。

同じ名前のヘッダーがすでにある場合、新しいヘッダーはそれを置き換えるのではなく、追加されます。

public $this add ( $name, $value )
$name string

ヘッダーの名前

$value string

ヘッダーの値

return $this

コレクションオブジェクト自体

                public function add($name, $value)
{
    $normalizedName = strtolower($name);
    $this->_headers[$normalizedName][] = $value;
    if (!\array_key_exists($normalizedName, $this->_originalHeaderNames)) {
        $this->_originalHeaderNames[$normalizedName] = $name;
    }
    return $this;
}

            
canGetProperty() public メソッド

定義元: yii\base\BaseObject::canGetProperty()

プロパティが読み取り可能かどうかを示す値を返します。

プロパティは以下の場合に読み取り可能です。

  • クラスに、指定された名前に関連付けられたゲッターメソッドがある場合(この場合、プロパティ名は大文字と小文字を区別しません)。
  • クラスに、指定された名前のメンバー変数がある場合($checkVars が true の場合)。

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

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

プロパティ名

$checkVars boolean

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

return boolean

プロパティが読み取り可能かどうか

                public function canGetProperty($name, $checkVars = true)
{
    return method_exists($this, 'get' . $name) || $checkVars && property_exists($this, $name);
}

            
canSetProperty() public メソッド

定義元: yii\base\BaseObject::canSetProperty()

プロパティが設定可能かどうかを示す値を返します。

プロパティは以下の場合に書き込み可能です。

  • クラスに、指定された名前に関連付けられたセッターメソッドがある場合(この場合、プロパティ名は大文字と小文字を区別しません)。
  • クラスに、指定された名前のメンバー変数がある場合($checkVars が true の場合)。

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

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

プロパティ名

$checkVars boolean

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

return boolean

プロパティが書き込み可能かどうか

                public function canSetProperty($name, $checkVars = true)
{
    return method_exists($this, 'set' . $name) || $checkVars && property_exists($this, $name);
}

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

定義元: yii\base\BaseObject::className()

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

public static string className ( )
return string

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

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

            
count() public メソッド

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

このメソッドは SPL Countable インターフェースによって要求されます。count($collection) を使用すると、暗黙的に呼び出されます。

public integer count ( )
return integer

コレクション内のヘッダーの数。

                #[\ReturnTypeWillChange]
public function count()
{
    return $this->getCount();
}

            
fromArray() public メソッド (バージョン 2.0.3 以降で利用可能)

配列からヘッダーコレクションを設定します。

public void fromArray ( array $array )
$array array

設定に使用するヘッダー

                public function fromArray(array $array)
{
    foreach ($array as $name => $value) {
        $this->set($name, $value);
    }
}

            
get() public メソッド

指定された名前のヘッダーを返します。

public string|array|null get ( $name, $default null, $first true )
$name string

返されるヘッダーの名前

$default mixed

指定されたヘッダーが存在しない場合に返される値

$first boolean

指定された名前の最初のヘッダーのみを返すかどうか。falseの場合、指定された名前のすべてのヘッダーが返されます。

return string|array|null

名前付きヘッダー。$firstがtrueの場合、文字列が返されます。$firstがfalseの場合、配列が返されます。

                public function get($name, $default = null, $first = true)
{
    $normalizedName = strtolower($name);
    if (isset($this->_headers[$normalizedName])) {
        return $first ? reset($this->_headers[$normalizedName]) : $this->_headers[$normalizedName];
    }
    return $default;
}

            
getCount() public メソッド

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

public integer getCount ( )
return integer

コレクション内のヘッダーの数。

                #[\ReturnTypeWillChange]
public function getCount()
{
    return count($this->_headers);
}

            
getIterator() public メソッド

コレクション内のヘッダーを走査するためのイテレータを返します。

このメソッドは、SPLインターフェースIteratorAggregateによって必要とされます。コレクションをトラバースするためにforeachを使用すると、暗黙的に呼び出されます。

public ArrayIterator getIterator ( )
return ArrayIterator

コレクション内のヘッダーを走査するためのイテレータ。

                #[\ReturnTypeWillChange]
public function getIterator()
{
    return new \ArrayIterator($this->_headers);
}

            
has() public メソッド

指定された名前のヘッダーが存在するかどうかを示す値を返します。

public boolean has ( $name )
$name string

ヘッダーの名前

return boolean

指定された名前のヘッダーが存在するかどうか

                public function has($name)
{
    return isset($this->_headers[strtolower($name)]);
}

            
hasMethod() public メソッド

定義元: yii\base\BaseObject::hasMethod()

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

デフォルトの実装は、PHP関数method_exists()の呼び出しです。PHPのマジックメソッド__call()を実装した場合は、このメソッドをオーバーライドできます。

public boolean hasMethod ( $name )
$name string

メソッド名

return boolean

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

                public function hasMethod($name)
{
    return method_exists($this, $name);
}

            
hasProperty() public メソッド

定義元: yii\base\BaseObject::hasProperty()

プロパティが定義されているかどうかを示す値を返します。

プロパティは、以下の場合に定義されます。

  • クラスに、指定された名前に関連付けられたgetterまたはsetterメソッドがある場合(この場合、プロパティ名はcase-insensitiveです)。
  • クラスに、指定された名前のメンバー変数がある場合($checkVars が true の場合)。

こちらも参照

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

プロパティ名

$checkVars boolean

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

return boolean

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

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

            
init() public メソッド

定義元: yii\base\BaseObject::init()

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

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

public void init ( )

                public function init()
{
}

            
offsetExists() public メソッド

指定された名前のヘッダーが存在するかどうかを返します。

このメソッドは、SPLインターフェースArrayAccessによって必要とされます。isset($collection[$name])のようなものを使用すると、暗黙的に呼び出されます。

public boolean offsetExists ( $name )
$name string

ヘッダー名

return boolean

指定された名前のヘッダーが存在するかどうか

                #[\ReturnTypeWillChange]
public function offsetExists($name)
{
    return $this->has($name);
}

            
offsetGet() public メソッド

指定された名前のヘッダーを返します。

このメソッドは、SPLインターフェースArrayAccessによって必要とされます。$header = $collection[$name];のようなものを使用すると、暗黙的に呼び出されます。これは、get()と同等です。

public string|null offsetGet ( $name )
$name string

ヘッダー名

return string|null

指定された名前のヘッダーの値。名前付きヘッダーが存在しない場合はnull。

                #[\ReturnTypeWillChange]
public function offsetGet($name)
{
    return $this->get($name);
}

            
offsetSet() public メソッド

ヘッダーをコレクションに追加します。

このメソッドは、SPLインターフェースArrayAccessによって必要とされます。$collection[$name] = $header;のようなものを使用すると、暗黙的に呼び出されます。これは、add()と同等です。

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

ヘッダー名

$value string

追加するヘッダー値

                #[\ReturnTypeWillChange]
public function offsetSet($name, $value)
{
    $this->set($name, $value);
}

            
offsetUnset() public メソッド

指定された名前のヘッダーを削除します。

このメソッドは、SPLインターフェースArrayAccessによって必要とされます。unset($collection[$name])のようなものを使用すると、暗黙的に呼び出されます。これは、remove()と同等です。

public void offsetUnset ( $name )
$name string

ヘッダー名

                #[\ReturnTypeWillChange]
public function offsetUnset($name)
{
    $this->remove($name);
}

            
remove() public メソッド

ヘッダーを削除します。

public array|null remove ( $name )
$name string

削除するヘッダーの名前。

return array|null

削除されたヘッダーの値。ヘッダーが存在しない場合は Null が返されます。

                public function remove($name)
{
    $normalizedName = strtolower($name);
    if (isset($this->_headers[$normalizedName])) {
        $value = $this->_headers[$normalizedName];
        unset($this->_headers[$normalizedName], $this->_originalHeaderNames[$normalizedName]);
        return $value;
    }
    return null;
}

            
removeAll() public メソッド

すべてのヘッダーを削除します。

public void removeAll ( )

                public function removeAll()
{
    $this->_headers = [];
    $this->_originalHeaderNames = [];
}

            
set() public メソッド

新しいヘッダーを追加します。

同じ名前のヘッダーが既に存在する場合、それは置き換えられます。

public $this set ( $name, $value '' )
$name string

ヘッダーの名前

$value string

ヘッダーの値

return $this

コレクションオブジェクト自体

                public function set($name, $value = '')
{
    $normalizedName = strtolower($name);
    $this->_headers[$normalizedName] = (array) $value;
    $this->_originalHeaderNames[$normalizedName] = $name;
    return $this;
}

            
setDefault() public メソッド

まだ存在しない場合にのみ、新しいヘッダーを設定します。

同じ名前のヘッダーが既に存在する場合、新しいヘッダーは無視されます。

public $this setDefault ( $name, $value )
$name string

ヘッダーの名前

$value string

ヘッダーの値

return $this

コレクションオブジェクト自体

                public function setDefault($name, $value)
{
    $normalizedName = strtolower($name);
    if (empty($this->_headers[$normalizedName])) {
        $this->_headers[$normalizedName][] = $value;
        $this->_originalHeaderNames[$normalizedName] = $name;
    }
    return $this;
}

            
toArray() public メソッド

コレクションを PHP 配列として返します。

public array toArray ( )
return array

コレクションの配列表現。配列のキーはヘッダー名で、配列の値は対応するヘッダー値です。

                public function toArray()
{
    return $this->_headers;
}

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

コレクションを PHP 配列として返しますが、( toArray() のように) 正規化されたヘッダー名をキーとして使用する代わりに、元のヘッダー名(大文字と小文字を区別)を使用します。

public array toOriginalArray ( )
return array

コレクションの配列表現。

                public function toOriginalArray()
{
    return \array_map(function ($normalizedName) {
        return $this->_headers[$normalizedName];
    }, \array_flip($this->_originalHeaderNames));
}