[ Index ] |
|
Code source de Symfony 1.0.0 |
1 <?php 2 3 /* 4 * This file is part of the symfony package. 5 * (c) 2004-2006 Fabien Potencier <fabien.potencier@symfony-project.com> 6 * (c) 2004-2006 Sean Kerr. 7 * 8 * For the full copyright and license information, please view the LICENSE 9 * file that was distributed with this source code. 10 */ 11 12 /** 13 * sfDatabase is a base abstraction class that allows you to setup any type of 14 * database connection via a configuration file. 15 * 16 * @package symfony 17 * @subpackage database 18 * @author Fabien Potencier <fabien.potencier@symfony-project.com> 19 * @author Sean Kerr <skerr@mojavi.org> 20 * @version SVN: $Id: sfDatabase.class.php 3210 2007-01-10 20:28:16Z fabien $ 21 */ 22 abstract class sfDatabase 23 { 24 protected 25 $connection = null, 26 $parameterHolder = null, 27 $resource = null; 28 29 /** 30 * Connects to the database. 31 * 32 * @throws <b>sfDatabaseException</b> If a connection could not be created 33 */ 34 abstract function connect(); 35 36 /** 37 * Retrieves the database connection associated with this sfDatabase implementation. 38 * 39 * When this is executed on a Database implementation that isn't an 40 * abstraction layer, a copy of the resource will be returned. 41 * 42 * @return mixed A database connection 43 * 44 * @throws <b>sfDatabaseException</b> If a connection could not be retrieved 45 */ 46 public function getConnection() 47 { 48 if ($this->connection == null) 49 { 50 $this->connect(); 51 } 52 53 return $this->connection; 54 } 55 56 /** 57 * Retrieves a raw database resource associated with this sfDatabase implementation. 58 * 59 * @return mixed A database resource 60 * 61 * @throws <b>sfDatabaseException</b> If a resource could not be retrieved 62 */ 63 public function getResource() 64 { 65 if ($this->resource == null) 66 { 67 $this->connect(); 68 } 69 70 return $this->resource; 71 } 72 73 /** 74 * Initializes this sfDatabase object. 75 * 76 * @param array An associative array of initialization parameters 77 * 78 * @return bool true, if initialization completes successfully, otherwise false 79 * 80 * @throws <b>sfInitializationException</b> If an error occurs while initializing this sfDatabase object 81 */ 82 public function initialize($parameters = array()) 83 { 84 $this->parameterHolder = new sfParameterHolder(); 85 $this->parameterHolder->add($parameters); 86 } 87 88 /** 89 * Gets the parameter holder for this object. 90 * 91 * @return sfParameterHolder A sfParameterHolder instance 92 */ 93 public function getParameterHolder() 94 { 95 return $this->parameterHolder; 96 } 97 98 /** 99 * Gets the parameter associated with the given key. 100 * 101 * This is a shortcut for: 102 * 103 * <code>$this->getParameterHolder()->get()</code> 104 * 105 * @param string The key name 106 * @param string The default value 107 * @param string The namespace to use 108 * 109 * @return string The value associated with the key 110 * 111 * @see sfParameterHolder 112 */ 113 public function getParameter($name, $default = null, $ns = null) 114 { 115 return $this->parameterHolder->get($name, $default, $ns); 116 } 117 118 /** 119 * Returns true if the given key exists in the parameter holder. 120 * 121 * This is a shortcut for: 122 * 123 * <code>$this->getParameterHolder()->has()</code> 124 * 125 * @param string The key name 126 * @param string The namespace to use 127 * 128 * @return boolean true if the given key exists, false otherwise 129 * 130 * @see sfParameterHolder 131 */ 132 public function hasParameter($name, $ns = null) 133 { 134 return $this->parameterHolder->has($name, $ns); 135 } 136 137 /** 138 * Sets the value for the given key. 139 * 140 * This is a shortcut for: 141 * 142 * <code>$this->getParameterHolder()->set()</code> 143 * 144 * @param string The key name 145 * @param string The value 146 * @param string The namespace to use 147 * 148 * @see sfParameterHolder 149 */ 150 public function setParameter($name, $value, $ns = null) 151 { 152 $this->parameterHolder->set($name, $value, $ns); 153 } 154 155 /** 156 * Executes the shutdown procedure. 157 * 158 * @return void 159 * 160 * @throws <b>sfDatabaseException</b> If an error occurs while shutting down this database 161 */ 162 abstract function shutdown(); 163 }
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Fri Mar 16 22:42:14 2007 | par Balluche grâce à PHPXref 0.7 |