0 フォロワー

抽象クラス yii\test\BaseActiveFixture

継承yii\test\BaseActiveFixture » yii\test\DbFixture » yii\test\Fixture » yii\base\Component » yii\base\BaseObject
実装ArrayAccess, Countable, IteratorAggregate, yii\base\Configurable
使用しているトレイトyii\base\ArrayAccessTrait, yii\test\FileFixtureTrait
サブクラスyii\test\ActiveFixture
利用可能なバージョン2.0
ソースコード https://github.com/yiisoft/yii2/blob/master/framework/test/BaseActiveFixture.php

BaseActiveFixture は、フィクスチャデータを ActiveRecord オブジェクトとしてアクセスすることをサポートするフィクスチャクラスの基本クラスです。

BaseActiveFixture の詳細および使用方法については、フィクスチャに関するガイド記事を参照してください。

パブリックプロパティ

継承されたプロパティを隠す

プロパティ 説明 定義元
$behaviors yii\base\Behavior[] このコンポーネントにアタッチされたビヘイビアのリスト。 yii\base\Component
$data 配列 データ行。 yii\test\BaseActiveFixture
$dataDirectory 文字列 フィクスチャデータを含むディレクトリパスまたはパスエイリアス yii\test\FileFixtureTrait
$dataFile 文字列|ブール値 getData()によって返されるフィクスチャデータを含むデータファイルのファイルパスまたはパスエイリアス yii\test\FileFixtureTrait
$db yii\db\Connection|配列|文字列 DB接続オブジェクト、またはDB接続のアプリケーションコンポーネントID。 yii\test\DbFixture
$depends 配列 このフィクスチャが依存するフィクスチャ。 yii\test\Fixture
$iterator ArrayIterator コレクション内の Cookie をトラバースするためのイテレータ。 yii\base\ArrayAccessTrait
$modelClass 文字列 このフィクスチャに関連付けられた AR モデルクラス。 yii\test\BaseActiveFixture

パブリックメソッド

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

メソッド 説明 定義元
__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
afterLoad() このメソッドは、現在のテストですべてのフィクスチャデータがロードされた後に呼び出されます。 yii\test\Fixture
afterUnload() このメソッドは、現在のテストですべてのフィクスチャデータがアンロードされた後に呼び出されます。 yii\test\Fixture
attachBehavior() このコンポーネントにビヘイビアをアタッチします。 yii\base\Component
attachBehaviors() コンポーネントにビヘイビアのリストをアタッチします。 yii\base\Component
beforeLoad() このメソッドは、現在のテストでフィクスチャデータがロードされる前に呼び出されます。 yii\test\Fixture
beforeUnload() このメソッドは、現在のテストでフィクスチャデータがアンロードされる前に呼び出されます。 yii\test\Fixture
behaviors() このコンポーネントが動作するべきビヘイビアのリストを返します。 yii\base\Component
canGetProperty() プロパティを読み取れるかどうかを示す値を返します。 yii\base\Component
canSetProperty() プロパティを設定できるかどうかを示す値を返します。 yii\base\Component
className() このクラスの完全修飾名を返します。 yii\base\BaseObject
count() データ項目の数を返します。 yii\base\ArrayAccessTrait
detachBehavior() コンポーネントからビヘイビアをデタッチします。 yii\base\Component
detachBehaviors() コンポーネントからすべてのビヘイビアをデタッチします。 yii\base\Component
ensureBehaviors() behaviors()で宣言されたビヘイビアがこのコンポーネントにアタッチされていることを確認します。 yii\base\Component
getBehavior() 名前付きのビヘイビアオブジェクトを返します。 yii\base\Component
getBehaviors() このコンポーネントにアタッチされているすべてのビヘイビアを返します。 yii\base\Component
getIterator() データをトラバースするためのイテレータを返します。 yii\base\ArrayAccessTrait
getModel() 指定されたモデル名で AR モデルを返します。 yii\test\BaseActiveFixture
hasEventHandlers() 名前付きイベントにハンドラがアタッチされているかどうかを示す値を返します。 yii\base\Component
hasMethod() メソッドが定義されているかどうかを示す値を返します。 yii\base\Component
hasProperty() このコンポーネントにプロパティが定義されているかどうかを示す値を返します。 yii\base\Component
init() オブジェクトを初期化します。 yii\test\DbFixture
load() フィクスチャをロードします。 yii\test\BaseActiveFixture
off() このコンポーネントから既存のイベントハンドラをデタッチします。 yii\base\Component
offsetExists() このメソッドは、インターフェースArrayAccessによって要求されます。 yii\base\ArrayAccessTrait
offsetGet() このメソッドは、インターフェースArrayAccessによって要求されます。 yii\base\ArrayAccessTrait
offsetSet() このメソッドは、インターフェースArrayAccessによって要求されます。 yii\base\ArrayAccessTrait
offsetUnset() このメソッドは、インターフェースArrayAccessによって要求されます。 yii\base\ArrayAccessTrait
on() イベントにイベントハンドラをアタッチします。 yii\base\Component
trigger() イベントをトリガーします。 yii\base\Component
unload() フィクスチャをアンロードします。 yii\test\BaseActiveFixture

保護されたメソッド

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

メソッド 説明 定義元
getData() フィクスチャデータを返します。 yii\test\BaseActiveFixture
loadData() フィクスチャデータを返します。 yii\test\FileFixtureTrait

プロパティの詳細

継承されたプロパティを隠す

$data パブリックプロパティ

データ行。各配列要素は、データの1行(列名 => 列値)を表します。

public 配列 $data = []
$modelClass public プロパティ

このフィクスチャに関連付けられた AR モデルクラス。

public string $modelClass null

メソッドの詳細

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

__call() public メソッド

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

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

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

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

public mixed __call ( $name, $params )
$name 文字列

メソッド名

$params 配列

メソッドのパラメータ

return mixed

メソッドの戻り値

throws 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 メソッド

定義元: yii\base\Component::__clone()

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

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

public void __clone ( )

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

            
__construct() public メソッド

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

コンストラクタ。

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

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

子クラスでこのメソッドをオーバーライドする場合は、次のことを推奨します。

  • コンストラクタの最後のパラメータは、ここでの $config のような構成配列にします。
  • コンストラクタの最後に親の実装を呼び出します。
public void __construct ( $config = [] )
$config 配列

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

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

            
__get() public メソッド

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

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

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

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

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

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

public mixed __get ( $name )
$name 文字列

プロパティ名

return mixed

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

throws yii\base\UnknownPropertyException

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

throws 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 を返します

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

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

public boolean __isset ( $name )
$name 文字列

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

return 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" という名前のビヘイビアをアタッチします
  • ビヘイビアのプロパティ: ビヘイビアのプロパティ値を設定します

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

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

public void __set ( $name, $value )
$name 文字列

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

$value mixed

プロパティ値

throws yii\base\UnknownPropertyException

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

throws 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 に設定します

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

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

public void __unset ( $name )
$name 文字列

プロパティ名

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

            
afterLoad() public メソッド

定義元: yii\test\Fixture::afterLoad()

このメソッドは、現在のテストですべてのフィクスチャデータがロードされた後に呼び出されます。

public void afterLoad ( )

                public function afterLoad()
{
}

            
afterUnload() public メソッド

定義元: yii\test\Fixture::afterUnload()

このメソッドは、現在のテストですべてのフィクスチャデータがアンロードされた後に呼び出されます。

public void afterUnload ( )

                public function afterUnload()
{
}

            
attachBehavior() public メソッド

定義元: yii\base\Component::attachBehavior()

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

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

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

public yii\base\Behavior attachBehavior ( $name, $behavior )
$name 文字列

ビヘイビアの名前。

$behavior string|array|yii\base\Behavior

ビヘイビアの構成。これは、次のいずれかになります。

  • yii\base\Behavior オブジェクト
  • ビヘイビアクラスを指定する文字列
  • Yii::createObject() に渡してビヘイビアオブジェクトを作成するオブジェクト構成配列。
return 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 配列

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

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

            
beforeLoad() public メソッド

定義元: yii\test\Fixture::beforeLoad()

このメソッドは、現在のテストでフィクスチャデータがロードされる前に呼び出されます。

public void beforeLoad ( )

                public function beforeLoad()
{
}

            
beforeUnload() public メソッド

定義元: yii\test\Fixture::beforeUnload()

このメソッドは、現在のテストでフィクスチャデータがアンロードされる前に呼び出されます。

public void beforeUnload ( )

                public function beforeUnload()
{
}

            
behaviors() public メソッド

定義元: yii\base\Component::behaviors()

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

子クラスは、このメソッドをオーバーライドして、それらが動作するようにしたいビヘイビアを指定できます。

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

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

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

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

public array behaviors ( )
return 配列

ビヘイビアの設定。

                public function behaviors()
{
    return [];
}

            
canGetProperty() public メソッド

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

プロパティを読み取れるかどうかを示す値を返します。

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

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

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

public boolean canGetProperty ( $name, $checkVars true, $checkBehaviors true )
$name 文字列

プロパティ名

$checkVars boolean

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

$checkBehaviors boolean

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

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

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

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

  • クラスに、指定された名前に関連付けられたsetterメソッドがある場合 (この場合、プロパティ名はcase-insensitive)。
  • クラスに、指定された名前のメンバー変数がある場合 ($checkVars がtrueの場合)。
  • アタッチされたビヘイビアに、指定された名前の書き込み可能なプロパティがある場合 ($checkBehaviors がtrueの場合)。

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

public boolean canSetProperty ( $name, $checkVars true, $checkBehaviors true )
$name 文字列

プロパティ名

$checkVars boolean

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

$checkBehaviors boolean

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

return 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 ( )
return 文字列

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

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

            
count() public メソッド

定義元: yii\base\ArrayAccessTrait::count()

データ項目の数を返します。

このメソッドは、Countableインターフェースによって必要とされます。

public integer count ( )
return integer

データ要素の数。

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

            
detachBehavior() public メソッド

定義元: yii\base\Component::detachBehavior()

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

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

public yii\base\Behavior|null detachBehavior ( $name )
$name 文字列

ビヘイビアの名前。

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

            
getBehavior() public メソッド

定義元: yii\base\Component::getBehavior()

名前付きのビヘイビアオブジェクトを返します。

public yii\base\Behavior|null getBehavior ( $name )
$name 文字列

ビヘイビアの名前

return 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 ( )
return yii\base\Behavior[]

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

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

            
getData() protected メソッド

フィクスチャデータを返します。

以下も参照してください loadData()

protected array getData ( )
return 配列

データベースに投入されるデータ

throws yii\base\InvalidConfigException

指定されたデータファイルが存在しない場合。

                protected function getData()
{
    return $this->loadData($this->dataFile);
}

            
getIterator() public メソッド

定義元: yii\base\ArrayAccessTrait::getIterator()

データをトラバースするためのイテレータを返します。

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

public ArrayIterator getIterator ( )
return ArrayIterator

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

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

            
getModel() public メソッド

指定されたモデル名で AR モデルを返します。

モデル名は、$data内の対応するデータ行のキーです。

public yii\db\ActiveRecord|null getModel ( $name )
$name 文字列

モデル名。

return yii\db\ActiveRecord|null

ARモデル。データベースに見つからない場合はnull。

throws yii\base\InvalidConfigException

$modelClassが設定されていない場合。

                public function getModel($name)
{
    if (!isset($this->data[$name])) {
        return null;
    }
    if (array_key_exists($name, $this->_models)) {
        return $this->_models[$name];
    }
    if ($this->modelClass === null) {
        throw new InvalidConfigException('The "modelClass" property must be set.');
    }
    $row = $this->data[$name];
    /* @var $modelClass \yii\db\ActiveRecord */
    $modelClass = $this->modelClass;
    $keys = [];
    foreach ($modelClass::primaryKey() as $key) {
        $keys[$key] = isset($row[$key]) ? $row[$key] : null;
    }
    return $this->_models[$name] = $modelClass::findOne($keys);
}

            
hasEventHandlers() public メソッド

定義元: yii\base\Component::hasEventHandlers()

名前付きイベントにハンドラがアタッチされているかどうかを示す値を返します。

public boolean hasEventHandlers ( $name )
$name 文字列

イベント名

return 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() public メソッド

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

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

メソッドが定義されるのは次のいずれかの場合です。

  • クラスに指定された名前のメソッドがある場合
  • アタッチされたビヘイビアに、指定された名前のメソッドがある場合($checkBehaviorsがtrueの場合)。
public boolean hasMethod ( $name, $checkBehaviors true )
$name 文字列

プロパティ名

$checkBehaviors boolean

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

return 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() public メソッド

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

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

プロパティが定義されるのは次のいずれかの場合です。

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

以下も参照してください

public boolean hasProperty ( $name, $checkVars true, $checkBehaviors true )
$name 文字列

プロパティ名

$checkVars boolean

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

$checkBehaviors boolean

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

return boolean

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

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

            
init() public メソッド

定義元: yii\test\DbFixture::init()

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

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

public void init ( )

                public function init()
{
    parent::init();
    $this->db = Instance::ensure($this->db, BaseObject::className());
}

            
load() public メソッド

フィクスチャをロードします。

デフォルトの実装では、getData()によって返されたデータを単に$dataに格納します。通常、このメソッドをオーバーライドして、データを基盤となるデータベースに投入する必要があります。

public void load ( )

                public function load()
{
    $this->data = $this->getData();
}

            
loadData() protected メソッド

定義元: yii\test\FileFixtureTrait::loadData()

フィクスチャデータを返します。

デフォルトの実装では、$dataFile で指定された外部ファイルをインクルードしてフィクスチャデータを返そうとします。ファイルは、データベースに挿入後、data に格納されるデータ配列を返す必要があります。

protected array loadData ( $file, $throwException true )
$file 文字列

データファイルのパス

$throwException boolean

フィクスチャデータファイルが存在しない場合に例外をスローするかどうか。

return 配列

データベースに投入されるデータ

throws yii\base\InvalidConfigException

指定されたデータファイルが存在しない場合。

                protected function loadData($file, $throwException = true)
{
    if ($file === null || $file === false) {
        return [];
    }
    if (basename($file) === $file && $this->dataDirectory !== null) {
        $file = $this->dataDirectory . '/' . $file;
    }
    $file = Yii::getAlias($file);
    if (is_file($file)) {
        return require $file;
    }
    if ($throwException) {
        throw new InvalidConfigException("Fixture data file does not exist: {$file}");
    }
    return [];
}

            
off() public メソッド

定義元: yii\base\Component::off()

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

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

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

参照: on()

public boolean off ( $name, $handler null )
$name 文字列

イベント名

$handler callable|null

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

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

            
offsetExists() public メソッド

定義元: yii\base\ArrayAccessTrait::offsetExists()

このメソッドは、インターフェースArrayAccessによって要求されます。

public boolean offsetExists ( $offset )
$offset mixed

チェックするオフセット

                #[\ReturnTypeWillChange]
public function offsetExists($offset)
{
    return isset($this->data[$offset]);
}

            
offsetGet() public メソッド

定義元: yii\base\ArrayAccessTrait::offsetGet()

このメソッドは、インターフェースArrayAccessによって要求されます。

public mixed offsetGet ( $offset )
$offset integer

要素を取得するためのオフセット。

return mixed

オフセット位置の要素。オフセット位置に要素がない場合は null

                #[\ReturnTypeWillChange]
public function offsetGet($offset)
{
    return isset($this->data[$offset]) ? $this->data[$offset] : null;
}

            
offsetSet() public メソッド

定義元: yii\base\ArrayAccessTrait::offsetSet()

このメソッドは、インターフェースArrayAccessによって要求されます。

public void offsetSet ( $offset, $item )
$offset integer

要素を設定するオフセット

$item mixed

要素の値

                #[\ReturnTypeWillChange]
public function offsetSet($offset, $item)
{
    $this->data[$offset] = $item;
}

            
offsetUnset() public メソッド

定義元: yii\base\ArrayAccessTrait::offsetUnset()

このメソッドは、インターフェースArrayAccessによって要求されます。

public void offsetUnset ( $offset )
$offset mixed

要素を削除するオフセット

                #[\ReturnTypeWillChange]
public function offsetUnset($offset)
{
    unset($this->data[$offset]);
}

            
on() public メソッド

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

イベント名

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

            
trigger() public メソッド

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

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

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

public void trigger ( $name, yii\base\Event $event null )
$name 文字列

イベント名

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

            
unload() public メソッド

フィクスチャをアンロードします。

このメソッドは、すべてのテストメソッドの終了後に呼び出されます。フィクスチャに必要なクリーンアップ作業を実行するために、このメソッドをオーバーライドできます。

public void unload ( )

                public function unload()
{
    parent::unload();
    $this->data = [];
    $this->_models = [];
}