Source of file GlobalAdapterFeature.php
Size: 1,727 Bytes - Last Modified: 2014-03-12T23:21:18+01:00
/home/theseer/Downloads/ZendFramework-2.3.0/library/Zend/Db/TableGateway/Feature/GlobalAdapterFeature.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | <?php /** * Zend Framework (http://framework.zend.com/) * * @link http://github.com/zendframework/zf2 for the canonical source repository * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ namespace Zend\Db\TableGateway\Feature; use Zend\Db\Adapter\Adapter; use Zend\Db\TableGateway\Exception; class GlobalAdapterFeature extends AbstractFeature { /** * @var Adapter[] */ protected static $staticAdapters = array(); /** * Set static adapter * * @param Adapter $adapter */ public static function setStaticAdapter(Adapter $adapter) { $class = get_called_class(); static::$staticAdapters[$class] = $adapter; if ($class === __CLASS__) { static::$staticAdapters[__CLASS__] = $adapter; } } /** * Get static adapter * * @throws Exception\RuntimeException * @return Adapter */ public static function getStaticAdapter() { $class = get_called_class(); // class specific adapter if (isset(static::$staticAdapters[$class])) { return static::$staticAdapters[$class]; } // default adapter if (isset(static::$staticAdapters[__CLASS__])) { return static::$staticAdapters[__CLASS__]; } throw new Exception\RuntimeException('No database adapter was found in the static registry.'); } /** * after initialization, retrieve the original adapter as "master" */ public function preInitialize() { $this->tableGateway->adapter = self::getStaticAdapter(); } } |