0 フォロワー

クラス yii\caching\ChainedDependency

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

ChainedDependency は、他の依存関係のリストで構成される依存関係を表します。

$dependOnAll が true の場合、いずれかの依存関係が変更されると、この依存関係は変更されたと見なされます。$dependOnAll が false の場合、いずれかの依存関係が変更されていない場合、この依存関係は変更されていないと見なされます。

キャッシュの詳細と使用方法については、キャッシュに関するガイド記事を参照してください。

公開プロパティ

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

プロパティ タイプ 説明 定義元
$data mixed キャッシュに保存され、後で最新の依存関係データと比較される依存関係データ。 yii\caching\Dependency
$dependOnAll boolean この依存関係が $dependencies 内のすべての依存関係に依存しているかどうか。 yii\caching\ChainedDependency
$dependencies yii\caching\Dependency[] この依存関係を構成する依存関係のリスト。 yii\caching\ChainedDependency
$reusable boolean この依存関係が再利用可能かどうか。 yii\caching\Dependency

公開メソッド

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

メソッド 説明 定義元
__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
canGetProperty() プロパティが読み取り可能かどうかを示す値を返します。 yii\base\BaseObject
canSetProperty() プロパティが設定可能かどうかを示す値を返します。 yii\base\BaseObject
className() このクラスの完全修飾名を返します。 yii\base\BaseObject
evaluateDependency() 依存関係に関連するデータを生成および保存することにより、依存関係を評価します。 yii\caching\ChainedDependency
getHasChanged() 依存関係が変更されたかどうかを示す値を返します。 yii\caching\Dependency
hasMethod() メソッドが定義されているかどうかを示す値を返します。 yii\base\BaseObject
hasProperty() プロパティが定義されているかどうかを示す値を返します。 yii\base\BaseObject
init() オブジェクトを初期化します。 yii\base\BaseObject
isChanged() 依存関係が変更されたかどうかを確認します。 yii\caching\ChainedDependency
resetReusableData() 再利用可能な依存関係のキャッシュされたデータをすべてリセットします。 yii\caching\Dependency

保護されたメソッド

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

メソッド 説明 定義元
generateDependencyData() 依存関係が変更されたかどうかを判断するために必要なデータを生成します。 yii\caching\ChainedDependency
generateReusableHash() 再利用可能な依存関係データを取得するために使用できる一意のハッシュを生成します。 yii\caching\Dependency

プロパティの詳細

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

$dependOnAll public プロパティ

この依存関係が $dependencies 内のすべての依存関係に依存しているかどうか。デフォルトは true です。つまり、いずれかの依存関係が変更されると、この依存関係は変更されたと見なされます。false に設定すると、いずれかの依存関係が変更されていない場合、この依存関係は変更されていないと見なされます。

public boolean $dependOnAll true
$dependencies public プロパティ

この依存関係を構成する依存関係のリスト。各配列要素は依存関係オブジェクトである必要があります。

メソッドの詳細

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

__call() public メソッド

定義元: 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() パブリックメソッド

定義元: 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() パブリックメソッド

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

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

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

__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() パブリックメソッド

定義元: 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

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

戻り値 boolean

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

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

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

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

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

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

__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() パブリックメソッド

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

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

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

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

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);
    }
}

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

定義元: 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() パブリックメソッド

定義元: 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() パブリック静的メソッド
2.0.14 から非推奨になりました。PHP >=5.5 では、代わりに ::class を使用してください。

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

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

public static string className ( )
戻り値 string

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

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

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

依存関係に関連するデータを生成および保存することにより、依存関係を評価します。

public void evaluateDependency ( $cache )
$cache yii\caching\CacheInterface

現在この依存関係を評価しているキャッシュコンポーネント

                public function evaluateDependency($cache)
{
    foreach ($this->dependencies as $dependency) {
        $dependency->evaluateDependency($cache);
    }
}

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

依存関係が変更されたかどうかを判断するために必要なデータを生成します。

このメソッドはこのクラスでは何もしません。

protected mixed generateDependencyData ( $cache )
$cache yii\caching\CacheInterface

現在この依存関係を評価しているキャッシュコンポーネント

戻り値 mixed

依存関係が変更されたかどうかを判断するために必要なデータ。

                protected function generateDependencyData($cache)
{
    return null;
}

            
generateReusableHash() protected メソッド

定義元: yii\caching\Dependency::generateReusableHash()

再利用可能な依存関係データを取得するために使用できる一意のハッシュを生成します。

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

protected string generateReusableHash ( )
戻り値 string

このキャッシュ依存関係の一意なハッシュ値。

                protected function generateReusableHash()
{
    $clone = clone $this;
    $clone->data = null; // https://github.com/yiisoft/yii2/issues/3052
    try {
        $serialized = serialize($clone);
    } catch (\Exception $e) {
        // unserializable properties are nulled
        foreach ($clone as $name => $value) {
            if (is_object($value) && $value instanceof \Closure) {
                $clone->{$name} = null;
            }
        }
        $serialized = serialize($clone);
    }
    return sha1($serialized);
}

            
getHasChanged() public メソッド
バージョン 2.0.11 から非推奨。バージョン 2.1 で削除されます。代わりに isChanged() を使用してください。

定義元: yii\caching\Dependency::getHasChanged()

依存関係が変更されたかどうかを示す値を返します。

public boolean getHasChanged ( $cache )
$cache yii\caching\CacheInterface

現在この依存関係を評価しているキャッシュコンポーネント

戻り値 boolean

依存関係が変更されたかどうか。

                public function getHasChanged($cache)
{
    return $this->isChanged($cache);
}

            
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()

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

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

  • クラスが、指定された名前に関連付けられたgetterまたはsetterメソッドを持っている場合(この場合、プロパティ名は大小文字を区別しません)。
  • クラスに、指定された名前のメンバ変数がある場合($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()
{
}

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

依存関係が変更されたかどうかを確認します。

public boolean isChanged ( $cache )
$cache yii\caching\CacheInterface

現在この依存関係を評価しているキャッシュコンポーネント

戻り値 boolean

依存関係が変更されたかどうか。

                public function isChanged($cache)
{
    foreach ($this->dependencies as $dependency) {
        if ($this->dependOnAll && $dependency->isChanged($cache)) {
            return true;
        } elseif (!$this->dependOnAll && !$dependency->isChanged($cache)) {
            return false;
        }
    }
    return !$this->dependOnAll;
}

            
resetReusableData() public static メソッド

定義元: yii\caching\Dependency::resetReusableData()

再利用可能な依存関係のキャッシュされたデータをすべてリセットします。

public static void resetReusableData ( )

                public static function resetReusableData()
{
    self::$_reusableData = [];
}