- <?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();
- }
-
-
- }
# |
Change |
User |
Description |
Committed |
|
#1
|
18334 |
Liz Lam |
initial add of jambox |
9 years ago
|
|