Line 13... |
Line 13... |
13 |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
|
13 |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
|
14 |
* @version $Id$
|
14 |
* @version $Id$
|
15 |
* @link /doc/framework/
|
15 |
* @link /doc/framework/
|
16 |
*/
|
16 |
*/
|
17 |
class Cache {
|
17 |
class Cache {
|
- |
|
18 |
/** Socke les enregistrements du cache dans des fichiers textes de façon extremement simple. */
|
- |
|
19 |
const STOCKAGE_MODE_SIMPLE = "FichierSimple";
|
18 |
/** Socke les enregistrements du cache dans des fichiers textes. */
|
20 |
/** Socke les enregistrements du cache dans des fichiers textes. */
|
19 |
const STOCKAGE_MODE_FICHIER = "Fichier";
|
21 |
const STOCKAGE_MODE_FICHIER = "Fichier";
|
20 |
/** Socke les enregistrements du cache dans une base de données SQLite. */
|
22 |
/** Socke les enregistrements du cache dans une base de données SQLite. */
|
21 |
const STOCKAGE_MODE_SQLITE = "Sqlite";
|
23 |
const STOCKAGE_MODE_SQLITE = "Sqlite";
|
Line 96... |
Line 98... |
96 |
public function __construct($options = array(), $options_stockage = array()) {
|
98 |
public function __construct($options = array(), $options_stockage = array()) {
|
97 |
$this->initialiserOptionsParConfig();
|
99 |
$this->initialiserOptionsParConfig();
|
98 |
$this->setOptions($options);
|
100 |
$this->setOptions($options);
|
99 |
if ($this->options['stockage_mode'] == self::STOCKAGE_MODE_FICHIER) {
|
101 |
if ($this->options['stockage_mode'] == self::STOCKAGE_MODE_FICHIER) {
|
100 |
$this->stockage = new CacheFichier($options_stockage, $this);
|
102 |
$this->stockage = new CacheFichier($options_stockage, $this);
|
- |
|
103 |
$this->stockage->setEmplacement($this->options['stockage_chemin']);
|
101 |
} else if ($this->options['stockage_mode'] == self::STOCKAGE_MODE_SQLITE) {
|
104 |
} else if ($this->options['stockage_mode'] == self::STOCKAGE_MODE_SQLITE) {
|
102 |
$this->stockage = new CacheSqlite($options_stockage, $this);
|
105 |
$this->stockage = new CacheSqlite($options_stockage, $this);
|
- |
|
106 |
$this->stockage->setEmplacement($this->options['stockage_chemin']);
|
- |
|
107 |
} else {
|
- |
|
108 |
trigger_error("Ce mode de stockage n'existe pas ou ne supporte pas la création par le constructeur", E_USER_WARNING);
|
103 |
}
|
109 |
}
|
104 |
$this->stockage->setEmplacement($this->options['stockage_chemin']);
|
- |
|
105 |
}
|
110 |
}
|
Line 106... |
Line 111... |
106 |
|
111 |
|
107 |
private function initialiserOptionsParConfig() {
|
112 |
private function initialiserOptionsParConfig() {
|
108 |
while (list($nom, $valeur) = each($this->options)) {
|
113 |
while (list($nom, $valeur) = each($this->options)) {
|
Line 138... |
Line 143... |
138 |
} else {
|
143 |
} else {
|
139 |
trigger_error("L'emplacement ne peut pas être null.", E_USER_WARNING);
|
144 |
trigger_error("L'emplacement ne peut pas être null.", E_USER_WARNING);
|
140 |
}
|
145 |
}
|
141 |
}
|
146 |
}
|
Line -... |
Line 147... |
- |
|
147 |
|
- |
|
148 |
public static function fabriquer($mode, $options = array()) {
|
- |
|
149 |
if ($mode == self::STOCKAGE_MODE_SIMPLE) {
|
- |
|
150 |
return new CacheSimple($options);
|
- |
|
151 |
} else {
|
- |
|
152 |
trigger_error("Le mode '$mode' de stockage n'existe pas ou ne supporte pas la création par fabrique", E_USER_WARNING);
|
- |
|
153 |
}
|
- |
|
154 |
return false;
|
- |
|
155 |
}
|
142 |
|
156 |
|
143 |
/**
|
157 |
/**
|
144 |
* Teste si un cache est disponible pour l'identifiant donné et (si oui) le retourne (false dans le cas contraire)
|
158 |
* Teste si un cache est disponible pour l'identifiant donné et (si oui) le retourne (false dans le cas contraire)
|
145 |
*
|
159 |
*
|
146 |
* @param string $id Identifiant de cache.
|
160 |
* @param string $id Identifiant de cache.
|