Subversion Repositories Applications.framework

Rev

Rev 282 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 282 Rev 291
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.