0 フォロワー

クラス yii\test\ActiveFixture

継承yii\test\ActiveFixture » 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
利用可能なバージョン2.0
ソースコード https://github.com/yiisoft/yii2/blob/master/framework/test/ActiveFixture.php

ActiveFixture は、ActiveRecord クラスまたはデータベーステーブルによってバックアップされたフィクスチャを表します。

$modelClass または $tableName のいずれかを設定する必要があります。また、$dataFile で指定されたファイルにフィクスチャデータを提供するか、コードを使用してフィクスチャデータを生成する場合は getData() をオーバーライドする必要があります。

フィクスチャがロードされる際、最初に resetTable() を呼び出して、テーブル内の既存のデータを削除します。次に、getData() によって返されたデータでテーブルを埋めます。

フィクスチャがロードされた後、$data プロパティを使用して、ロードされたデータにアクセスできます。$modelClass を設定した場合、getModel() を使用して、データが入力された $modelClass のインスタンスを取得することもできます。

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

公開プロパティ

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

プロパティ タイプ 説明 定義元
$behaviors yii\base\Behavior[] このコンポーネントにアタッチされたビヘイビアのリスト。 yii\base\Component
$data array yii\base\ArrayAccessTrait
$dataDirectory string フィクスチャデータが含まれるディレクトリパスまたはパスエイリアス yii\test\FileFixtureTrait
$dataFile string|boolean|null getData() によって返されるフィクスチャデータを含むデータファイルのファイルパスまたはパスエイリアス yii\test\ActiveFixture
$db yii\db\Connection|array|string DB接続オブジェクトまたはDB接続のアプリケーションコンポーネントID。 yii\test\DbFixture
$depends array このフィクスチャが依存するフィクスチャ。 yii\test\Fixture
$iterator ArrayIterator コレクション内のクッキーを走査するためのイテレータ。 yii\base\ArrayAccessTrait
$modelClass string このフィクスチャに関連付けられたARモデルクラス。 yii\test\BaseActiveFixture
$tableName string|null このフィクスチャが対象とするデータベーステーブルの名前。 yii\test\ActiveFixture
$tableSchema yii\db\TableSchema このフィクスチャに関連付けられたデータベーステーブルのスキーマ情報。 yii\test\ActiveFixture

公開メソッド

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

メソッド 説明 定義元
__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
getTableSchema() yii\test\ActiveFixture
hasEventHandlers() 指定されたイベントにハンドラがアタッチされているかどうかを示す値を返します。 yii\base\Component
hasMethod() メソッドが定義されているかどうかを示す値を返します。 yii\base\Component
hasProperty() このコンポーネントに対してプロパティが定義されているかどうかを示す値を返します。 yii\base\Component
init() オブジェクトを初期化します。 yii\test\ActiveFixture
load() フィクスチャをロードします。 yii\test\ActiveFixture
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\ActiveFixture

保護されたメソッド

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

メソッド 説明 定義元
getData() フィクスチャデータを返します。 yii\test\ActiveFixture
loadData() フィクスチャデータを返します。 yii\test\FileFixtureTrait
resetTable() 指定されたテーブルから既存のすべてのデータを削除し、シーケンス番号を 1 にリセットします (存在する場合)。 yii\test\ActiveFixture

プロパティの詳細

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

$dataFile public プロパティ

getData() によって返されるフィクスチャデータを含むデータファイルのファイルパスまたはパスエイリアス。これが設定されていない場合は、デフォルトでFixturePath/data/TableName.phpになります。ここで、FixturePathはこのフィクスチャクラスを含むディレクトリを表し、TableNameはこのフィクスチャに関連付けられているテーブルの名前を表します。このプロパティを false に設定して、データのロードを禁止できます。

public string|boolean|null $dataFile null
$tableName public プロパティ

このフィクスチャが対象とするデータベーステーブルの名前。このプロパティが設定されていない場合、テーブル名は$modelClassを通じて決定されます。

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

public string|null $tableName null
$tableSchema public プロパティ

このフィクスチャに関連付けられたデータベーステーブルのスキーマ情報。

メソッドの詳細

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

__call() public メソッド

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

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

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

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

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

メソッド名

$params array

メソッドのパラメータ

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 array

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

                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 string

プロパティ名

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 string

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

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 string

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

$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 string

プロパティ名

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 string

ビヘイビアの名前。

$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 array

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

                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 array

ビヘイビアの構成。

                public function behaviors()
{
    return [];
}

            
canGetProperty() public メソッド

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

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

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

  • クラスは、指定された名前に関連付けられた getter メソッドを持っている(この場合、プロパティ名は大文字小文字を区別しない)。
  • クラスは、指定された名前のメンバ変数を持っている($checkVars が true の場合)。
  • アタッチされたビヘイビアは、指定された名前の読み取り可能なプロパティを持っている($checkBehaviors が true の場合)。

参考: canSetProperty()

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

プロパティ名

$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 メソッドを持っている(この場合、プロパティ名は大文字小文字を区別しない)。
  • クラスは、指定された名前のメンバ変数を持っている($checkVars が true の場合)。
  • アタッチされたビヘイビアが、指定された名前の書き込み可能なプロパティを持っている($checkBehaviors が true の場合)。

参考: canGetProperty()

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

プロパティ名

$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 string

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

                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 string

ビヘイビアの名前。

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 string

ビヘイビア名

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

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

デフォルトの実装では、$dataFile で指定された外部ファイルをインクルードして、フィクスチャデータを返そうとします。ファイルは、テーブル内の各行に対応するデータ行(列名 => 列値)の配列を返す必要があります。

データファイルが存在しない場合は、空の配列が返されます。

protected array getData ( )
return array

データベーステーブルに挿入されるデータ行。

                protected function getData()
{
    if ($this->dataFile === null) {
        if ($this->dataDirectory !== null) {
            $dataFile = $this->getTableSchema()->fullName . '.php';
        } else {
            $class = new \ReflectionClass($this);
            $dataFile = dirname($class->getFileName()) . '/data/' . $this->getTableSchema()->fullName . '.php';
        }
        return $this->loadData($dataFile, false);
    }
    return parent::getData();
}

            
getIterator() public メソッド

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

データを走査するためのイテレータを返します。

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

public ArrayIterator getIterator ( )
return ArrayIterator

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

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

            
getModel() public メソッド

定義元: yii\test\BaseActiveFixture::getModel()

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

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

public yii\db\ActiveRecord|null getModel ( $name )
$name string

モデル名。

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

            
getTableSchema() public メソッド

public yii\db\TableSchema getTableSchema ( )
return yii\db\TableSchema

このフィクスチャに関連付けられたデータベーステーブルのスキーマ情報。

throws yii\base\InvalidConfigException

テーブルが存在しない場合

                public function getTableSchema()
{
    if ($this->_table !== null) {
        return $this->_table;
    }
    $db = $this->db;
    $tableName = $this->tableName;
    if ($tableName === null) {
        /* @var $modelClass \yii\db\ActiveRecord */
        $modelClass = $this->modelClass;
        $tableName = $modelClass::tableName();
    }
    $this->_table = $db->getSchema()->getTableSchema($tableName);
    if ($this->_table === null) {
        throw new InvalidConfigException("Table does not exist: {$tableName}");
    }
    return $this->_table;
}

            
hasEventHandlers() public メソッド

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

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

public boolean hasEventHandlers ( $name )
$name string

イベント名

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 string

プロパティ名

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

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

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

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

以下も参照

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

プロパティ名

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

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

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

public void init ( )

                public function init()
{
    parent::init();
    if ($this->tableName === null) {
        if ($this->modelClass === null) {
            throw new InvalidConfigException('Either "modelClass" or "tableName" must be set.');
        }
        /** @var ActiveRecord $modelClass */
        $modelClass = $this->modelClass;
        $this->db = $modelClass::getDb();
    }
}

            
load() public メソッド

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

getData()によって返されるデータでテーブルを埋めます。

このメソッドをオーバーライドする場合は、getData()によって返されるデータをテーブルに投入できるように、親の実装を呼び出すことを検討してください。

public void load ( )

                public function load()
{
    $this->data = [];
    $table = $this->getTableSchema();
    foreach ($this->getData() as $alias => $row) {
        $primaryKeys = $this->db->schema->insert($table->fullName, $row);
        $this->data[$alias] = array_merge($row, $primaryKeys);
    }
}

            
loadData() protected メソッド

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

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

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

protected array loadData ( $file, $throwException true )
$file string

データファイルのパス

$throwException boolean

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

return array

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

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 string

イベント名

$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

要素をunsetするオフセット

                #[\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 string

イベント名

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

            
resetTable() protected メソッド

指定されたテーブルから既存のすべてのデータを削除し、シーケンス番号を 1 にリセットします (存在する場合)。

このメソッドは、フィクスチャデータをこのフィクスチャに関連付けられたテーブルに投入する前に呼び出されます。

protected void resetTable ( )

                protected function resetTable()
{
    $table = $this->getTableSchema();
    $this->db->createCommand()->delete($table->fullName)->execute();
    if ($table->sequenceName !== null) {
        $this->db->createCommand()->executeResetSequence($table->fullName, 1);
    }
}

            
trigger() public メソッド

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

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

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

public void trigger ( $name, yii\base\Event $event null )
$name string

イベント名

$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()
{
    $this->resetTable();
    parent::unload();
}