Changeset 113748 in spip-zone
- Timestamp:
- Feb 5, 2019, 2:21:03 PM (12 days ago)
- Location:
- _plugins_/cache/trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/cache/trunk/cache/cache.php
r113747 r113748 42 42 } 43 43 44 if (!defined('_CACHE_ SEPARATEUR')) {44 if (!defined('_CACHE_NOM_SEPARATEUR')) { 45 45 /** 46 46 * Dossier racine dans lesquels tous les caches par défaut seront rangés. 47 47 * Les caches sont répartis suivant le plugin appelant dans un sous-dossier `/${plugin}`. 48 48 */ 49 define('_CACHE_ SEPARATEUR', '_');49 define('_CACHE_NOM_SEPARATEUR', '_'); 50 50 } 51 51 … … 56 56 57 57 /** 58 * Complète la description d'un type de noisette issue de la lecture de son fichier YAML.59 * 60 * Le plugin N-Core ne complète pas les types de noisette.61 * 62 * @uses ncore_chercher_service()58 * Récupère la configuration des caches d'un plugin, la complète et la stocke dans une meta. 59 * 60 * Le plugin Cache Factory propose une configuration par défaut des caches. 61 * 62 * @uses cache_chercher_service() 63 63 * @uses sous_repertoire() 64 64 * @uses lire_config() … … 68 68 * Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou 69 69 * un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe. 70 * @param array $description71 * Description du type de noisette issue de la lecture du fichier YAML. Suivant le plugin utilisateur elle72 * nécessite d'être compléter avant son stockage.73 * @param string $stockage74 * Identifiant du service de stockage à utiliser si précisé.75 70 * 76 71 * @return array 77 * Description du type de noisette éventuellement complétée par le plugin utilisateur.72 * Tableau de la configuration complétée des caches d'un plugin venant d'être enregistrée. 78 73 */ 79 74 function cache_cache_configurer($plugin) { … … 86 81 'securisation' => _CACHE_SECURISE, 87 82 'serialisation' => _CACHE_CONTENU_SERIALISE, 88 'separateur' => _CACHE_ SEPARATEUR83 'separateur' => _CACHE_NOM_SEPARATEUR 89 84 ); 90 85 … … 137 132 * Construit le chemin complet du fichier cache. 138 133 * 139 * @uses ncore_chercher_service()134 * @uses cache_chercher_service() 140 135 * 141 136 * @param string $plugin 142 137 * Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier 143 138 * ou un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe. 144 * @param array $c onteneur139 * @param array $cache 145 140 * Tableau identifiant le cache pour lequel on veut construire le nom. 146 141 * @param array $configuration 147 * Configuration complète des caches du plugin utlisateur .142 * Configuration complète des caches du plugin utlisateur lue à partir de la meta de stockage. 148 143 * 149 144 * @return string 150 145 */ 151 function cache_cache_nommer($plugin, $c onteneur, $configuration) {146 function cache_cache_nommer($plugin, $cache, $configuration) { 152 147 153 148 // Le plugin utilisateur peut fournir un service propre pour construire le chemin complet du fichier cache. … … 155 150 if ($nommer = cache_chercher_service($plugin, 'cache_nommer')) { 156 151 // On passe le plugin appelant à la fonction car cela permet ainsi de mutualiser les services de stockage. 157 $fichier_cache = $nommer($plugin, $c onteneur, $configuration);152 $fichier_cache = $nommer($plugin, $cache, $configuration); 158 153 } else { 159 154 // On utilise le mécanisme de nommage standard du plugin Cache. … … 164 159 // de base des caches du plugin. 165 160 $dir_cache = $configuration['dossier_base']; 166 if (!empty($c onteneur['sous_dossier'])) {167 // Si le c onteneur nécessite un sous-dossier, appelé service dans l'identifiant du conteneur.168 $dir_cache .= rtrim($c onteneur['sous_dossier'], '/');161 if (!empty($cache['sous_dossier'])) { 162 // Si le cache nécessite un sous-dossier, appelé service dans l'identifiant du cache. 163 $dir_cache .= rtrim($cache['sous_dossier'], '/'); 169 164 } 170 165 171 166 // Détermination du nom du cache sans extension. 172 // Celui-ci est construit à partir des éléments fournis sur le c onteneuret de la configuration167 // Celui-ci est construit à partir des éléments fournis sur le cache et de la configuration 173 168 // fournie par le plugin (liste ordonnée de composant). 174 169 $nom_cache = ''; 175 170 foreach ($configuration['nom'] as $_composant) { 176 if (isset($c onteneur[$_composant])) {177 $nom_cache .= ($nom_cache ? $configuration['separateur'] : '') . $c onteneur[$_composant];171 if (isset($cache[$_composant])) { 172 $nom_cache .= ($nom_cache ? $configuration['separateur'] : '') . $cache[$_composant]; 178 173 } 179 174 } … … 184 179 // Par contre, si le cache est sécurisé alors on ne tient pas compte du forçage éventuel car l'extension 185 180 // doit toujours être .php et celle-ci a été forcée lors de la configuration des caches du plugin. 186 $extension = (!empty($c onteneur['extension']) and !$configuration['securisation'])187 ? $c onteneur['extension']181 $extension = (!empty($cache['extension']) and !$configuration['securisation']) 182 ? $cache['extension'] 188 183 : $configuration['extension']; 189 184 // Le chemin complet -
_plugins_/cache/trunk/inc/cache_api.php
r113747 r113748 1 1 <?php 2 2 /** 3 * Ce fichier contient les fonctions d'API d e gestion des caches.3 * Ce fichier contient les fonctions d'API du plugin Cache Factory. 4 4 * 5 5 * @package SPIP\CACHE\API … … 15 15 * @api 16 16 * 17 * @uses cache_configuration_lire() 17 18 * @uses cache_cache_configurer() 18 19 * @uses cache_cache_nommer() … … 96 97 * @api 97 98 * 99 * @uses cache_configuration_lire() 98 100 * @uses cache_cache_configurer() 99 101 * @uses cache_cache_nommer() … … 164 166 * @api 165 167 * 168 * @uses cache_configuration_lire() 166 169 * @uses cache_cache_configurer() 167 170 * @uses cache_cache_nommer() … … 216 219 * @api 217 220 * 221 * @uses cache_configuration_lire() 222 * @uses cache_cache_configurer() 218 223 * @uses cache_cache_nommer() 219 224 * … … 253 258 * @api 254 259 * 260 * @uses cache_configuration_lire() 255 261 * @uses cache_cache_configurer() 256 262 * @uses cache_cache_nommer() … … 341 347 * @api 342 348 * 349 * @uses lire_config() 350 * 343 351 * @param string $plugin 344 352 * Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier -
_plugins_/cache/trunk/paquet.xml
r113741 r113748 8 8 > 9 9 <nom>Cache Factory</nom> 10 <!-- Une fabrique de caches transparente-->10 <!-- La fabrique de caches pour plugins --> 11 11 12 12 <auteur lien="http://blog.smellup.net">Eric Lupinacci</auteur>
Note: See TracChangeset
for help on using the changeset viewer.