クラス yii\web\HeaderCollection
HeaderCollection は、現在登録されている HTTP ヘッダーを管理するために、yii\web\Response によって使用されます。
公開プロパティ
プロパティ | 型 | 説明 | 定義元 |
---|---|---|---|
$count | integer | コレクション内のヘッダーの数。 | yii\web\HeaderCollection |
$iterator | ArrayIterator | コレクション内のヘッダーを走査するためのイテレータ。 | yii\web\HeaderCollection |
公開メソッド
プロパティの詳細
メソッドの詳細
定義元: 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()");
}
定義元: 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();
}
定義元: 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);
}
定義元: yii\base\BaseObject::__isset()
プロパティが設定されているか、つまり定義されていて null でないかを確認します。
isset($object->property)
を実行するときに暗黙的に呼び出される PHP のマジックメソッドであるため、このメソッドを直接呼び出さないでください。
プロパティが定義されていない場合、false が返されることに注意してください。
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;
}
定義元: 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);
}
}
定義元: yii\base\BaseObject::__unset()
オブジェクトのプロパティを null に設定します。
unset($object->property)
を実行するときに暗黙的に呼び出される 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);
}
}
新しいヘッダーを追加します。
同じ名前のヘッダーがすでにある場合、新しいヘッダーはそれを置き換えるのではなく、追加されます。
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;
}
定義元: 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);
}
定義元: 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);
}
::class
を使用してください。
定義元: yii\base\BaseObject::className()
このクラスの完全修飾名を返します。
public static string className ( ) | ||
return | string |
このクラスの完全修飾名。 |
---|
public static function className()
{
return get_called_class();
}
コレクション内のヘッダーの数を返します。
このメソッドは SPL Countable
インターフェースによって要求されます。count($collection)
を使用すると、暗黙的に呼び出されます。
public integer count ( ) | ||
return | integer |
コレクション内のヘッダーの数。 |
---|
#[\ReturnTypeWillChange]
public function count()
{
return $this->getCount();
}
配列からヘッダーコレクションを設定します。
public void fromArray ( array $array ) | ||
$array | array |
設定に使用するヘッダー |
public function fromArray(array $array)
{
foreach ($array as $name => $value) {
$this->set($name, $value);
}
}
指定された名前のヘッダーを返します。
public string|array|null get ( $name, $default = null, $first = true ) | ||
$name | string |
返されるヘッダーの名前 |
$default | mixed |
指定されたヘッダーが存在しない場合に返される値 |
$first | boolean |
指定された名前の最初のヘッダーのみを返すかどうか。falseの場合、指定された名前のすべてのヘッダーが返されます。 |
return | string|array|null |
名前付きヘッダー。 |
---|
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;
}
コレクション内のヘッダーの数を返します。
public integer getCount ( ) | ||
return | integer |
コレクション内のヘッダーの数。 |
---|
#[\ReturnTypeWillChange]
public function getCount()
{
return count($this->_headers);
}
コレクション内のヘッダーを走査するためのイテレータを返します。
このメソッドは、SPLインターフェースIteratorAggregateによって必要とされます。コレクションをトラバースするためにforeach
を使用すると、暗黙的に呼び出されます。
public ArrayIterator getIterator ( ) | ||
return | ArrayIterator |
コレクション内のヘッダーを走査するためのイテレータ。 |
---|
#[\ReturnTypeWillChange]
public function getIterator()
{
return new \ArrayIterator($this->_headers);
}
指定された名前のヘッダーが存在するかどうかを示す値を返します。
public boolean has ( $name ) | ||
$name | string |
ヘッダーの名前 |
return | boolean |
指定された名前のヘッダーが存在するかどうか |
---|
public function has($name)
{
return isset($this->_headers[strtolower($name)]);
}
定義元: 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);
}
定義元: 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);
}
public void init ( ) |
public function init()
{
}
指定された名前のヘッダーが存在するかどうかを返します。
このメソッドは、SPLインターフェースArrayAccessによって必要とされます。isset($collection[$name])
のようなものを使用すると、暗黙的に呼び出されます。
public boolean offsetExists ( $name ) | ||
$name | string |
ヘッダー名 |
return | boolean |
指定された名前のヘッダーが存在するかどうか |
---|
#[\ReturnTypeWillChange]
public function offsetExists($name)
{
return $this->has($name);
}
指定された名前のヘッダーを返します。
このメソッドは、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);
}
ヘッダーをコレクションに追加します。
このメソッドは、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);
}
指定された名前のヘッダーを削除します。
このメソッドは、SPLインターフェースArrayAccessによって必要とされます。unset($collection[$name])
のようなものを使用すると、暗黙的に呼び出されます。これは、remove()と同等です。
public void offsetUnset ( $name ) | ||
$name | string |
ヘッダー名 |
#[\ReturnTypeWillChange]
public function offsetUnset($name)
{
$this->remove($name);
}
ヘッダーを削除します。
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;
}
すべてのヘッダーを削除します。
public void removeAll ( ) |
public function removeAll()
{
$this->_headers = [];
$this->_originalHeaderNames = [];
}
新しいヘッダーを追加します。
同じ名前のヘッダーが既に存在する場合、それは置き換えられます。
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;
}
まだ存在しない場合にのみ、新しいヘッダーを設定します。
同じ名前のヘッダーが既に存在する場合、新しいヘッダーは無視されます。
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;
}
コレクションを PHP 配列として返します。
public array toArray ( ) | ||
return | array |
コレクションの配列表現。配列のキーはヘッダー名で、配列の値は対応するヘッダー値です。 |
---|
public function toArray()
{
return $this->_headers;
}
コレクションを PHP 配列として返しますが、( toArray() のように) 正規化されたヘッダー名をキーとして使用する代わりに、元のヘッダー名(大文字と小文字を区別)を使用します。
public array toOriginalArray ( ) | ||
return | array |
コレクションの配列表現。 |
---|
public function toOriginalArray()
{
return \array_map(function ($normalizedName) {
return $this->_headers[$normalizedName];
}, \array_flip($this->_originalHeaderNames));
}
コメントするにはサインアップまたはログインしてください。