0 フォロワー

クラス yii\web\CookieCollection

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

CookieCollection は、現在のリクエストで使用可能な Cookie を管理します。

CookieCollection の詳細と使用方法については、Cookie の処理に関するガイド記事を参照してください。

公開プロパティ

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

プロパティ 説明 定義元
$count integer コレクション内の Cookie の数。 yii\web\CookieCollection
$iterator \ArrayIterator コレクション内の Cookie をトラバースするためのイテレータ。 yii\web\CookieCollection
$readOnly boolean このコレクションが読み取り専用かどうか。 yii\web\CookieCollection

公開メソッド

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

メソッド 説明 定義元
__call() クラスメソッドではない名前付きメソッドを呼び出します。 yii\base\BaseObject
__construct() コンストラクタ。 yii\web\CookieCollection
__get() オブジェクトプロパティの値を返します。 yii\base\BaseObject
__isset() プロパティが設定されているかどうか(つまり、定義されていてnullでないかどうか)を確認します。 yii\base\BaseObject
__set() オブジェクトプロパティの値を設定します。 yii\base\BaseObject
__unset() オブジェクトプロパティをnullに設定します。 yii\base\BaseObject
add() コレクションにCookieを追加します。 yii\web\CookieCollection
canGetProperty() プロパティを読み取ることができるかどうかを示す値を返します。 yii\base\BaseObject
canSetProperty() プロパティを設定できるかどうかを示す値を返します。 yii\base\BaseObject
className() このクラスの完全修飾名を返します。 yii\base\BaseObject
count() コレクション内のCookieの数を返します。 yii\web\CookieCollection
fromArray() 配列からCookieコレクションを設定します。 yii\web\CookieCollection
get() 指定された名前のCookieを返します。 yii\web\CookieCollection
getCount() コレクション内のCookieの数を返します。 yii\web\CookieCollection
getIterator() コレクション内のCookieをトラバースするためのイテレータを返します。 yii\web\CookieCollection
getValue() 指定された名前のCookieの値を返します。 yii\web\CookieCollection
has() 指定された名前のCookieが存在するかどうかを返します。 yii\web\CookieCollection
hasMethod() メソッドが定義されているかどうかを示す値を返します。 yii\base\BaseObject
hasProperty() プロパティが定義されているかどうかを示す値を返します。 yii\base\BaseObject
init() オブジェクトを初期化します。 yii\base\BaseObject
offsetExists() 指定された名前のCookieが存在するかどうかを返します。 yii\web\CookieCollection
offsetGet() 指定された名前のCookieを返します。 yii\web\CookieCollection
offsetSet() コレクションにCookieを追加します。 yii\web\CookieCollection
offsetUnset() 指定された名前のCookieを削除します。 yii\web\CookieCollection
remove() Cookieを削除します。 yii\web\CookieCollection
removeAll() すべてのCookieを削除します。 yii\web\CookieCollection
toArray() コレクションをPHP配列として返します。 yii\web\CookieCollection

プロパティの詳細

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

$count public property

コレクション内の Cookie の数。

public integer $count null
$iterator public read-only property

コレクション内の Cookie をトラバースするためのイテレータ。

public \ArrayIterator getIterator ( )
$readOnly public property

このコレクションが読み取り専用かどうか。

public boolean $readOnly false

メソッドの詳細

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

__call() public method

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

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

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

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

メソッド名

$params array

メソッドパラメータ

戻り値 mixed

メソッドの戻り値

例外 yii\base\UnknownMethodException

未知のメソッド呼び出し時

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

            
__construct() publicメソッド

コンストラクタ。

public void __construct ( $cookies = [], $config = [] )
$cookies array

このコレクションが最初に含むCookie。これは、名前と値のペアの配列である必要があります。

$config array

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

                public function __construct($cookies = [], $config = [])
{
    $this->_cookies = $cookies;
    parent::__construct($config);
}

            
__get() publicメソッド

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

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

これはPHPのマジックメソッドであり、`$value = $object->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)) {
        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でないかどうか)を確認します。

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

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

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

public boolean __isset ( $name )
$name string

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

戻り値 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()

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

これはPHPのマジックメソッドであり、`$object->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)) {
        $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に設定します。

これはPHPのマジックメソッドであり、`unset($object->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);
    } elseif (method_exists($this, 'get' . $name)) {
        throw new InvalidCallException('Unsetting read-only property: ' . get_class($this) . '::' . $name);
    }
}

            
add() publicメソッド

コレクションにCookieを追加します。

コレクションに同じ名前のCookieが既に存在する場合は、最初に削除されます。

public void add ( $cookie )
$cookie yii\web\Cookie

追加するCookie

例外 yii\base\InvalidCallException

Cookieコレクションが読み取り専用の場合

                public function add($cookie)
{
    if ($this->readOnly) {
        throw new InvalidCallException('The cookie collection is read only.');
    }
    $this->_cookies[$cookie->name] = $cookie;
}

            
canGetProperty() publicメソッド

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

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

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

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

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

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

プロパティ名

$checkVars boolean

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

戻り値 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

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

戻り値 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 ( )
戻り値 string

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

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

            
count() publicメソッド

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

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

public integer count ( )
戻り値 integer

コレクション内の Cookie の数。

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

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

配列からCookieコレクションを設定します。

public void fromArray ( array $array )
$array array

設定するCookie

                public function fromArray(array $array)
{
    $this->_cookies = $array;
}

            
get() publicメソッド

指定された名前のCookieを返します。

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

public yii\web\Cookie|null get ( $name )
$name string

クッキー名

戻り値 yii\web\Cookie|null

指定された名前のクッキー。指定された名前のクッキーが存在しない場合はnull。

                public function get($name)
{
    return isset($this->_cookies[$name]) ? $this->_cookies[$name] : null;
}

            
getCount() publicメソッド

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

public integer getCount ( )
戻り値 integer

コレクション内の Cookie の数。

                public function getCount()
{
    return count($this->_cookies);
}

            
getIterator() publicメソッド

コレクション内のCookieをトラバースするためのイテレータを返します。

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

public \ArrayIterator getIterator ( )
戻り値 \ArrayIterator

コレクション内の Cookie をトラバースするためのイテレータ。

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

            
getValue() publicメソッド

指定された名前のCookieの値を返します。

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

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

クッキー名

$defaultValue mixed

指定された名前のクッキーが存在しない場合に返される値。

戻り値 mixed

指定された名前のクッキーの値。

                public function getValue($name, $defaultValue = null)
{
    return isset($this->_cookies[$name]) ? $this->_cookies[$name]->value : $defaultValue;
}

            
has() publicメソッド

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

クッキーがブラウザから削除されるようにマークされている場合、またはその値が空文字列の場合、このメソッドはfalseを返します。

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

public boolean has ( $name )
$name string

クッキー名

戻り値 boolean

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

                public function has($name)
{
    return isset($this->_cookies[$name]) && $this->_cookies[$name]->value !== ''
        && ($this->_cookies[$name]->expire === null
            || $this->_cookies[$name]->expire === 0
            || (
                (is_string($this->_cookies[$name]->expire) && strtotime($this->_cookies[$name]->expire) >= time())
                || (
                    interface_exists('\\DateTimeInterface')
                    && $this->_cookies[$name]->expire instanceof \DateTimeInterface
                    && $this->_cookies[$name]->expire->getTimestamp() >= time()
                )
                || $this->_cookies[$name]->expire >= time()
            )
        );
}

            
hasMethod() publicメソッド

定義場所: yii\base\BaseObject::hasMethod()

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

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

public boolean hasMethod ( $name )
$name string

メソッド名

戻り値 boolean

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

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

            
hasProperty() publicメソッド

定義場所: yii\base\BaseObject::hasProperty()

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

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

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

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

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

プロパティ名

$checkVars boolean

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

戻り値 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メソッド

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

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

public boolean offsetExists ( $name )
$name string

クッキー名

戻り値 boolean

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

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

            
offsetGet() publicメソッド

指定された名前のCookieを返します。

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

public yii\web\Cookie|null offsetGet ( $name )
$name string

クッキー名

戻り値 yii\web\Cookie|null

指定された名前のクッキー。指定された名前のクッキーが存在しない場合はnull。

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

            
offsetSet() publicメソッド

コレクションにCookieを追加します。

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

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

クッキー名

$cookie yii\web\Cookie

追加するCookie

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

            
offsetUnset() publicメソッド

指定された名前のCookieを削除します。

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

public void offsetUnset ( $name )
$name string

クッキー名

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

            
remove() publicメソッド

Cookieを削除します。

$removeFromBrowserがtrueの場合、Cookieはブラウザから削除されます。この場合、有効期限が過ぎたCookieがコレクションに追加されます。

public void remove ( $cookie, $removeFromBrowser true )
$cookie yii\web\Cookie|string

削除するCookieオブジェクトまたはCookieの名前。

$removeFromBrowser boolean

ブラウザからCookieを削除するかどうか

例外 yii\base\InvalidCallException

Cookieコレクションが読み取り専用の場合

                public function remove($cookie, $removeFromBrowser = true)
{
    if ($this->readOnly) {
        throw new InvalidCallException('The cookie collection is read only.');
    }
    if ($cookie instanceof Cookie) {
        $cookie->expire = 1;
        $cookie->value = '';
    } else {
        $cookie = Yii::createObject([
            'class' => 'yii\web\Cookie',
            'name' => $cookie,
            'expire' => 1,
        ]);
    }
    if ($removeFromBrowser) {
        $this->_cookies[$cookie->name] = $cookie;
    } else {
        unset($this->_cookies[$cookie->name]);
    }
}

            
removeAll() publicメソッド

すべてのCookieを削除します。

public void removeAll ( )
例外 yii\base\InvalidCallException

Cookieコレクションが読み取り専用の場合

                public function removeAll()
{
    if ($this->readOnly) {
        throw new InvalidCallException('The cookie collection is read only.');
    }
    $this->_cookies = [];
}

            
toArray() publicメソッド

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

public yii\web\Cookie[] toArray ( )
戻り値 yii\web\Cookie[]

コレクションの配列表現。配列のキーはCookie名、配列の値は対応するCookieオブジェクトです。

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