0

Zend Framework 2のドキュメントには、次のように書かれZend\Db\TableGateway\TableGatewayています。

[Zend \ Db \ TableGateway \ TableGateway]コンストラクターは、単一の機能オブジェクトFeatureSetオブジェクト、または機能オブジェクトの配列の3つの異なる形式で機能を取得できます。

そしてTableGatewayコンストラクターは実際に型をチェックします。

したがって、TableGatewayコンストラクターの4番目の引数は、互換性があるFeature\AbstractFeatureか、互換性のあるオブジェクトFeature\FeatureSetの配列である必要がFeature\AbstractFeatureあります。

Get Startedチュートリアルのモデル部分では、タイプのオブジェクトTableGatewayが作成され、Zend\Db\ResultSet\ResultSet4番目の引数として取得されます。

class Module
{
    // getAutoloaderConfig() and getConfig() methods here

    // Add this method:
    public function getServiceConfig()
    {
        return array(
            'factories' => array(
                ...
                'AlbumTableGateway' => function ($sm) {
                    $dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
                    $resultSetPrototype = new ResultSet();
                    $resultSetPrototype->setArrayObjectPrototype(new Album());
                    return new TableGateway('album', $dbAdapter, null, $resultSetPrototype);
                },
            ),
        );
    }
}

ResultSetではありませんinstanceof AbstractFeature。しかし、それは機能します。

それはどのように機能しますか?

4

1 に答える 1

1

これ$feature3番目の引数です。を参照してください。TableGateway#31

4番目のパラメータは、ResultSetInterface

于 2013-03-22T17:09:26.323 に答える