<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ifbLib :: ifbCache - Documentation (Français)</title>
<link rel="stylesheet" type="text/css" href="documentation/ifb_doc.css" />
<script type="text/javascript" src="documentation/ifb_doc.js"></script>
</head>
<body>
<div id="header"><h1 class="inboxNB" style="background:none;">PHP IFB_LIB Documentation (Français)</h1></div>
<div id="menu" class="box">
<h2><span><a href="Javascript:;" onclick="AfficherTout();">Class :: ifbCache</a></span></h2>
<br />
<div class="inbox box30 borderf">
<h2><a href="#" onclick="AfficherCat('i');">Menu</a></h2>
<ul class="dMain">
<li><a href="#i_1" onclick="AfficherCat('i');">Informations</a></li>
<li><a href="#m1_1" onclick="AfficherSCAT('m', '1');">Initialisation</a></li>
<li><a href="#m2_1" onclick="AfficherSCAT('m', '2');">Chargement de fichiers</a></li>
<li><a href="#m3_1" onclick="AfficherSCAT('m', '3');">Lecture de données</a></li>
<li><a href="#m4_1" onclick="AfficherSCAT('m', '4');">Sauvegarde de données</a></li>
<li><a href="#m5_1" onclick="AfficherSCAT('m', '5');">Fonctions internes</a></li>
<li><a href="#m6_1" onclick="AfficherSCAT('m', '6');">Linéarisation</a></li>
<li><a href="#m7_1" onclick="AfficherSCAT('m', '7');">Personnalisation</a></li>
</ul>
</div>
<div class="inbox box30 borderf">
<h2><a href="#" onclick="AfficherCat('p');">Propriétés</a></h2>
<ul class="dMain" onclick="AfficherCat('p');">
<li><a href="#p_varPFIX">varPFIX</a></li>
<li><a href="#p_now">$now</a></li>
<li><a href="#p_cacheDir">$cacheDir</a></li>
<li><a href="#p_cache">$cache</a></li>
<li><a href="#p_cacheExt">$cacheExt</a></li>
</ul>
<br />
</div>
<div class="inbox box30 borderf">
<h2><a href="#" onclick="AfficherCat('m');">Méthodes</a></h2>
<ul class="dMain">
<li><a href="#m_construct" onclick="AfficherSCAT('m', '1');">__construct()</a></li>
</ul><ul class="dMain" onclick="AfficherSCAT('m', '2');">
<li><a href="#m_loadFiles">loadFiles()</a></li>
<li><a href="#m_getVar">getVar()</a></li>
<li><a href="#m_getData">getData()</a></li>
<li><a href="#m_getAll">getAll()</a></li>
</ul><ul class="dMain" onclick="AfficherSCAT('m', '3');">
<li><a href="#m_setVar">setVar()</a></li>
<li><a href="#m_setData">setData()</a></li>
</ul><ul class="dMain">
<li><a href="#m_saveFiles" onclick="AfficherSCAT('m', '4');">saveFiles()</a></li>
</ul><ul class="dMain" onclick="AfficherSCAT('m', '5');">
<li><a href="#m_loadData">loadData()</a></li>
<li><a href="#m_saveData">saveData()</a></li>
<li><a href="#m_stringToVar">stringToVar()</a></li>
<li><a href="#m_checkFile">checkFile()</a></li>
<li><a href="#m_checkFileExt">checkFileExt()</a></li>
<li><a href="#m_checkFileTime">checkFileTime()</a></li>
<li><a href="#m_cleanVars">cleanVars()</a></li>
</ul><ul class="dMain" onclick="AfficherSCAT('m', '6');">
<li><a href="#m_sleep">__sleep()</a></li>
</ul>
</div>
<br class="clearer" />
</div>
<div class="box inboxNB">
<fieldset class="annonce">
<p> <span class="signal">/!\</span> La rédaction de cette documentation n'est pas terminée. Participez à la rédaction et aux tradcutions en Anglais en vous joignant au <a href="http://sourceforge.net/project/memberlist.php?group_id=392018">projet sur sourceForge</a>.</p>
</fieldset>
<div id="i_1">
<fieldset><legend>Informations</legend>
<div class="box"><h2><span>Credits</span></h2><div class="inbox">
Documentation pour ifbCache versions alpha.<br />
Classe développée par <a href="">Mickaël "R!cko" Devoldère</a> pour <a href="http://www.infobull.fr">Infobull France</a>.<br />
<a href="http://www.php.net">Php</a> 5.2 ou supérieur requis.<br />
Liscense GNU/GPL v3 (<a class="petit" href="http://www.gnu.org/licenses/gpl.html">gnu.org/licenses/gpl.html</a>).<br />
</div></div>
<div class="box"><h2><span>Description</span></h2><div class="inbox">
Classe PHP5 de gestion de fichiers cache destinée au développeurs de sites web dynamiques.<br />
<br />Possibilité de générer des fichiers de config, stocker des données sql, du texte, html, xml etc...<br />
Peut servir d'alternative à une base de données pour les sites de petite envergure.<br />
Utilisation très simple, les possibilités de personnalisation sont élevées grâce à l'héritage (connaissances php requises).<br />
Une instance peut gérer plusieurs fichiers cache simultanément.<br /><br />
Les données peuvent être sauvegardées dans différents formats:
<ul>
<li>[Fichier .dat] Tableau php array() sérialisé (défaut)</li>
<li>[Fichier .php] Tableau php array() non sérialisé</li>
<li>[Fichier .inc] Données brutes (texte, html)</li>
<li>[Fichier .gz] Données brutes compressées via gzcompress()</li>
</ul>
</div></div>
<div class="box"><h2><span>A FAIRE (to do)</span></h2><div class="inbox">
- "Sessions" cache<br />- Fonctions de gestion de formats de sauvegarde personnalisés<br />- Interface Admin
</div></div>
<div class="box"><h2><span>/!\ ATTENTION /!\</span></h2><div class="inbox">
<strong>/!\ ifbCache est en phase alpha.
<br />/!\ Il est fortement déconseillé d'utiliser des versions alpha/beta dans un environnement de production.
<br /><br />Une première version stable (1.0) sera bientôt disponible.</strong>
</div></div>
</fieldset>
</div> <!-- /i -->
<div id="p_1">
<fieldset><legend>Propriétés</legend>
<div id="p_varPFIX" class="box"><h2><span>varPFIX</span></h2><div class="inbox">
const varPFIX = 'c'<br /><br />
Préfixe utilisé pour la génération de nom de variable lors d'une lecture/sauvegarde au format php non linéarisé.
<br /><br />Défaut: 'c'
</div>
</div>
<div id="p_now" class="box"><h2><span>$now</span></h2><div class="inbox">
(int) public $now<br /><br />
Raccourci vers time().
</div>
</div>
<div id="p_cacheDir" class="box"><h2><span>$cacheDir</span></h2><div class="inbox">
(string) protected $cacheDir<br /><br />
Chemin vers le répertoire où sont/seront stockés les fichiers.
</div>
</div>
<div id="p_cache" class="box"><h2><span>$cache</span></h2><div class="inbox">
(array) protected $cache = array('file' => array(), 'content' => array(), 'save' => array())<br /><br />
Coeur de l'objet. Ce tableau regroupe les variables et données des fichiers cache à lire et sauvegarder.
<blockquote><p>$cache['file'] = array('$fileName' => '(int)',);
// indique le type de données d'un fichier [Par défaut: 0]</p></blockquote>
<blockquote><p>$cache['content']: string || array('$fileName' => array('key => 'val',),);
// contient les données des fichiers chargés ou à enregistrer</p></blockquote>
<blockquote><p>$cache['save']: array('$fileName', '$fileName2',) ;
// stocke les noms de fichier à sauvegarder lors de l'appel de la fonction <a href="#">saveFiles()</a></p></blockquote>
</div>
</div>
<div id="p_cacheExt" class="box"><h2><span>$cacheExt</span></h2><div class="inbox">
(array) protected $cacheExt = array(0 => '.dat', 1 => '.php', 2 => '.gz', 3 => '.inc');<br /><br />
Contient les extensions de fichiers utilisés par les différents formats de sauvegarde.
</div>
</div>
</fieldset>
</div> <!-- /p -->
<div id="m_1">
<fieldset><legend>Méthodes: Initialisation de la classe</legend>
<div id ="m_construct" class="box"><h2><span>__construct ( [string $cacheDir = 'cache'] )</span></h2><div class="inbox">
Initialisation de la classe.<br /><br />
1. <strong>$cacheDir</strong>: Chemin vers le répertoire où sont stockés les fichiers cache (sans le slash '/' de fin).
Par défaut, ce paramètre est défini à 'cache'.<br /><br />
<blockquote><p>$obj = new ifbCache(); // répertoire par défaut (./cache/)</p></blockquote>
<blockquote><p>$obj = new ifbCache('../chemin/vers/les/fichiers/cache'); // définition d'un répertoire personnalisé</p></blockquote>
</div>
</div>
</fieldset>
</div>
<!-- FIN METHODES_1 / DEBUT METHODES_2 -->
<div id="m_2">
<fieldset><legend>Méthodes: Chargement et lecture des fichiers</legend>
<div id ="m_loadFiles" class="box"><h2><span>loadFiles ( string $fileName, [bolean $isCode = false] )</span></h2><div class="inbox">
<strong>public</strong><br /><br />
<br /><br />
<blockquote><p></p></blockquote>
</div>
</div>
<div id ="m_getVar" class="box"><h2><span>getVar ( string $fileName, string $var )</span></h2><div class="inbox">
<strong>public</strong><br /><br />
<br /><br />
<blockquote><p></p></blockquote>
</div>
</div>
<div id ="m_getData" class="box"><h2><span>getData ( string $fileName )</span></h2><div class="inbox">
<strong>public</strong><br /><br />
<br /><br />
<blockquote><p></p></blockquote>
</div>
</div>
<div id ="m_getAll" class="box"><h2><span>getAll ()</span></h2><div class="inbox">
<strong>public</strong><br /><br />
<br /><br />
<blockquote><p></p></blockquote>
</div>
</div>
</fieldset>
</div>
<!-- FIN METHODES_2 / DEBUT METHODES_3 -->
<div id="m_3">
<fieldset><legend>Méthodes: Mise à jour des données</legend>
<div id ="m_setVar" class="box"><h2><span>setVar ( string $fileName, string $key, string $var, [bolean $isCode = false] )</span></h2><div class="inbox">
<strong>public</strong><br /><br />
<br /><br />
<blockquote><p></p></blockquote>
</div>
</div>
<div id ="m_setData" class="box"><h2><span>setData ( string $fileName, array $var, [bolean $isCode = false] )</span></h2><div class="inbox">
<strong>public</strong><br /><br />
Assigne $var au fichier $fileName et ajoute $fileName à $cache['save'].<br /><br />
1. <strong>$fileName</strong>: Nom du fichier à traiter.<br />
2. <strong>$var</strong>: tableau contenant les données.<br />
3. <strong>$isCode</strong>: indique si les données doivent être sérialisées (false=sérialisées / true=non-sérialisées) (défaut: false).<br />
Si défini à true, les données seront sauvegardées au format php array()
<blockquote><p>$obj->assignVars('nomDuFichier', $un_tableau); // pour linéariser les données</p></blockquote>
<blockquote><p>$obj->assignVars('nomDuFichier', $un_tableau, true); // ne pas linéariser les données</p></blockquote>
</div>
</div>
</fieldset>
</div>
<!-- FIN METHODES_3 / DEBUT METHODES_4 -->
<div id="m_4">
<fieldset><legend>Méthodes: Sauvegarde des données</legend>
<div id ="m_saveFiles" class="box"><h2><span>saveFiles ( [bolean $result = false] )</span></h2><div class="inbox">
<strong>public</strong><br /><br />
Lance la sauvegarde des fichiers définis dans $cache['save'] par les méthodes assignVar() et assignVars().<br /><br />
<strong>$isEcho</strong>: si défini à true, affiche le résultat de la sauvegarde (défaut: false).
<blockquote><p>$obj->save();</p></blockquote>
<blockquote><p>$obj->save(true); // affiche 'Saved: [nomDuFichier1] [NomDuFichier2] ...'</p></blockquote>
</div>
</div>
<div id ="m_saveData" class="box"><h2><span>saveData ( string $fileName )</span></h2><div class="inbox">
<strong>protected</strong><br /><br />
Enregistre les données de $fileName dans $cacheDir/$fileName.self::cacheEXT<br /><br />
<strong>$fileName</strong>: Nom du fichier à enregistrer.
<blockquote><p>$this->saveData('nomDuFichier');</p></blockquote>
</div>
</div>
</fieldset>
</div>
<!-- FIN METHODES_4 / DEBUT METHODES_5 -->
<div id="m_5">
<fieldset><legend>Méthodes internes</legend>
<div id ="m_cleanVarName" class="box"><h2><span>stringToVar ( string $var )</span></h2><div class="inbox">
<strong>protected</strong><br /><br />
Nettoie une chaine afin qu'elle puisse être utilisé comme nom de variable.<br /><br />
<strong>$var</strong>: la chaine à valider (dans le contexte de cette classe: un nom de fichier).
<blockquote><p>$this->cleanVarName('3nom-Du-Fichier'); // retourne self::cachePFIX.'3nom_Du_Fichier'</p></blockquote>
</div>
</div>
<div id ="m_checkFile" class="box"><h2><span>checkFile ( string $fileName, [int $expire = 86400] )</span></h2><div class="inbox">
<strong>public</strong><br /><br />
Vérifie si un fichier est plus agé que time()-$expire<br /><br />
1. <strong>$fileName</strong>: Nom du fichier à vérifier.<br />
2. <strong>$expire</strong>: durée d'expiration exprimée en secondes (défaut 86400 soit 24h).<br /><br />
Retourne le temps restant avant expiration en secondes.<br />
Retourne 0 si expiré.
<blockquote><p>$var = $obj->checkFile('nomDuFichier', 3600);</p></blockquote>
</div>
</div>
<div id ="m_cleanVars" class="box"><h2><span>cleanVars ()</span></h2><div class="inbox">
<strong>public</strong><br /><br />
Réinitialise $cache à sa valeur par défaut [array('file' => array(), 'content' => array(), 'save' => array())]
<blockquote><p>$obj->cleanVars();</p></blockquote>
</div>
</div>
</fieldset>
</div>
<!-- FIN METHODES_5 -->
</div>
<div class="clearer"></div>
</body>
</html>