CakeFest 2024: The Official CakePHP Conference

wincache_ucache_get

(PECL wincache >= 1.1.0)

wincache_ucache_getRécupère une variable stokée dans le cache utilisateur

Description

wincache_ucache_get(mixed $key, bool &$success = ?): mixed

Récupère une variable stokée dans le cache utilisateur.

Liste de paramètres

key

La clé key utilisée pour stoker la variable dans le cache. Le paramètre key est sensible à la casse. key peut être un tableau de clés. Dans ce cas, la valeur retournée sera un tableau de valeurs de chaque éléments du tableau key. Si un objet ou un tableau contenant des objets est retourné, alors les objets seront désérialisés. Reportez-vous à la fonction __wakeup() pour plus de détails sur les désérialisation des objets.

success

Sera définie à true en cas de succès, false si une erreur survient.

Valeurs de retour

Si le paramètre key est une chaîne de caractères, la fonction retournera la valeur de la variable stokée avec cette clé. Le paramètre success sera défini à true en cas de succès, et à false si une erreur survient.

Si le paramètre key est un tableau, le paramètre success sera toujours défini à true. Le tableau retourné (paires de nom => valeur) contiendra uniquement les paires nom => valeur pour lesquelles la récupération depuis le cache utilisateur a été un succès. Si aucune des clés du tableau ne correspond à des entrées du cache utilisateur, un tableau vide sera retourné.

Exemples

Exemple #1 Exemple avec wincache_ucache_get() et le paramètre key sous forme de chaîne de caractères

<?php
wincache_ucache_add
('color', 'blue');
var_dump(wincache_ucache_get('color', $success));
var_dump($success);
?>

L'exemple ci-dessus va afficher :

string(4) "blue"
bool(true)

Exemple #2 Exemple avec wincache_ucache_get() et le paramètre key sous forme d'un tableau

<?php
$array1
= array('green' => '5', 'Blue' => '6', 'yellow' => '7', 'cyan' => '8');
wincache_ucache_set($array1);
$array2 = array('green', 'Blue', 'yellow', 'cyan');
var_dump(wincache_ucache_get($array2, $success));
var_dump($success);
?>

L'exemple ci-dessus va afficher :

array(4) { ["green"]=> string(1) "5" 
           ["Blue"]=> string(1) "6" 
           ["yellow"]=> string(1) "7" 
           ["cyan"]=> string(1) "8" } 
bool(true)

Voir aussi

add a note

User Contributed Notes 1 note

up
0
don dot raman at microsoft dot com
14 years ago
As per documentation PHP 5.2 doesn't support serialization of PHP internal classes. This means code below will not work:

<?php
$d
= new DateTime();
$d->format(DateTime::W3C);
wincache_ucache_set( 'q1', $d );
var_dump( wincache_ucache_get( 'q1' )->format(DATE_ATOM));
?>

The output of above code will be (as of PHP5.2.13):
[11-Feb-2010 08:35:29] PHP Warning: DateTime::format() [<a href='datetime.format'>datetime.format</a>]: The DateTime object has not been correctly initialized by its constructor in C:\inetpub\wwwroot\phptest\tests\ucache\wincache8.php on line 5
And last var_dump will return bool(false).
To Top