Changeset 111815 in spip-zone


Ignore:
Timestamp:
Sep 30, 2018, 10:11:38 PM (15 months ago)
Author:
jluc@…
Message:

petit nettoyage du code & petit fix

Location:
_plugins_/cachelab/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/cachelab/trunk/inc/cachelab.php

    r111804 r111815  
    11<?php
     2if (!defined('_ECRIRE_INC_VERSION')) {
     3        return;
     4}
     5
    26include_spip ('lib/microtime.inc');
    37
     
    7882        $len_prefix = strlen(_CACHE_NAMESPACE);
    7983
    80         $matche_chemin = $matche_objet = array();
    81         $nb_chemins=$nb_valides=$nb_chemin=$nb_echecaccesdata=$nb_absentducontexte=$nb_accesdata=$nb_datanotarray=$nb_applique=0;
     84        $matche_chemin = $cible = $no_data = $data_not_array = array();
     85        $nb_matche_chemin=$nb_caches=$nb_chemin=$nb_no_data=$nb_data_access=$nb_data_not_array=$nb_cible=0;
    8286
    8387        $chemins = explode('|', $chemin);
     
    8993                        )
    9094                {
    91                         $nb_valides++;
     95                        $nb_caches++;
    9296                        $danslechemin = !$chemin;
    9397                        if ($chemin) {
     
    96100                                        foreach ($chemins as $unchemin) {
    97101                                                if ($unchemin and (strpos ($cle, $unchemin) !== false)) {
    98                                                         if ($avec_listes)
    99                                                                 $matche_chemin[]=$d;
    100102                                                        $danslechemin = true;
    101                                                         $nb_chemins++;
    102103                                                        cachelab_applique ($action, $cle, null, $options);
    103104                                                        break;
     
    115116                                        die("Pas prévu (TODO)");
    116117                                };
     118                                if ($danslechemin) {
     119                                        $nb_matche_chemin++;
     120                                        if ($avec_listes)
     121                                                $matche_chemin[]=$d;
     122                                };
    117123                        }
    118124                        else
    119                                 $nb_chemins = -1;
     125                                $nb_matche_chemin = '_';        // pas de filtrage par le chemin
    120126
    121127                        if ($danslechemin and $cle_objet and $id_objet) {
    122128                                global $Memoization;
    123129                                if ($data = $Memoization->get(substr($cle, $len_prefix))) {
    124                                         $nb_accesdata++;
    125 
     130                                        $nb_data_access++;
    126131                                        if (is_array($data)) {
    127132                                                if (isset($data['contexte'])
    128133                                                        and isset ($data['contexte'][$cle_objet])
    129                                                         and ($data['contexte'][$cle_objet]==$id_objet)) {
    130                                                                 if ($avec_listes)
    131                                                                         $matche_objet[] = $d;
    132                                                                 $nb_applique++;
    133                                                                 cachelab_applique ($action, $cle, $data, $options);
    134                                                         }
    135                                                 else
    136                                                         $nb_absentducontexte++;
     134                                                        and ($data['contexte'][$cle_objet]==$id_objet)
     135                                                        ) {
     136                                                        $nb_cible++;
     137                                                        if ($avec_listes)
     138                                                                $cible[] = $d;
     139                                                        cachelab_applique ($action, $cle, $data, $options);
     140                                                }
    137141                                        }
    138142                                        else {
    139143                                                if (CACHELAB_LOG_ECHECS)
    140144                                                        spip_log ("clé=$cle : data n'est pas un tableau : ".print_r($data,1), 'cachelab');
    141                                                 $nb_datanotarray++;
     145                                                if ($avec_listes)
     146                                                        $data_not_array[]=$cle.($data ? ' not array' : ' empty');
     147                                                echo "erreur acces clé $cle ".print_r($data,1)."<br><br>";
     148                                                $nb_data_not_array++;
    142149                                        };
    143150                                }
    144                                 else
    145                                         $nb_echecaccesdata++;
     151                                else
     152                                        $nb_no_data++;
     153                        }
     154                        elseif($danslechemin) {// condition sur chemin sans condition sur contexte
     155                                $nb_cible++;
     156                                cachelab_applique ($action, $cle, $data, $options);
    146157                        }
    147158                }
     
    149160
    150161        $stats = array(
    151                 'ok_chemin'=>$nb_chemins,
    152                 'ok_parsed'=>$nb_valides,
    153                 'fail_data_access' => $nb_echecaccesdata,
    154                 'ok_data_access' => $nb_accesdata,
    155                 'fail_data_not_array' => $nb_datanotarray,
    156                 'ok_data_dont_match' => $nb_absentducontexte,
    157                 'ok_match'=>$nb_applique
     162                'caches'=>$nb_caches,
     163                'matche_chemin'=>$nb_matche_chemin,
     164                'no_data' => $nb_no_data,       // yen a plein (ça correspond à quoi ?)
     165                'data_access' => $nb_data_access,
     166                'data_not_array' => $nb_data_not_array, // normalement yen a pas
     167                'cible'=>$nb_cible
    158168        );
    159169
    160170        if ($avec_listes) {
    161                 $stats['squelette'] = $matche_chemin;
    162                 $stats['contexte'] = $matche_objet;
     171                $stats['liste_matche_chemin'] = $matche_chemin;
     172                $stats['liste_data_not_array'] = $data_not_array;
     173                $stats['liste_cible'] = $cible;
    163174        }
    164175
  • _plugins_/cachelab/trunk/lib/microtime.inc.php

    r111754 r111815  
    1 <?php 
     1<?php
    22//
    33// Chronométrage des appels php
Note: See TracChangeset for help on using the changeset viewer.