Closed victorynox closed 8 years ago
Проверять resourceObject на реализацию интерфейса DataStoresInterface
public function __invoke(ContainerInterface $container, $requestedName, array $options = null) { $resourceName = $requestedName; if (!$container->has($resourceName)) { throw new RestException( 'Can\'t make storeMiddleware witout resourceName' . ' for resource: ' . $resourceName ); } $resourceObject = $container->get($resourceName); switch (true) { case is_a($resourceObject, 'Zend\Db\TableGateway\TableGateway'): $tableGateway = $resourceObject; $resourceObject = new DbTable($tableGateway); case ($resourceObject instanceof DataStoresInterface): $dataStore = $resourceObject; $resourceObject = new Middleware\StoreMiddleware($dataStore); case $resourceObject instanceof \Zend\Stratigility\MiddlewareInterface: $storeMiddleware = $resourceObject; default: if (!$storeMiddleware) { throw new RestException( 'Can\'t make StoreMiddleware' . ' for resource: ' . $resourceName ); } } return $storeMiddleware; }
done
Проверять resourceObject на реализацию интерфейса DataStoresInterface