(PECL yac >= 1.0.0)
Yac::get — Recupera valores de la caché
Recupera valores de la caché
keydefault
El valor que se devuelve cuando la clave (o las claves) solicitada no
está presente en la caché, disponible a partir de yac 2.4.0. Si se
omite, un fallo de caché devuelve false.
Nota:
Antes de yac 2.4.0, esta posición de argumento contenía un token
$caspor referencia en lugar de un valor por defecto. El código que pasaba ese token o dependía de él debe actualizarse al migrar a la versión 2.4.0.
Para una clave de tipo string, devuelve el valor almacenado en
caché si se encuentra, y en caso contrario el valor de
default (o false si no se indicó ningún valor por
defecto).
Para un array de claves, devuelve un array que contiene los
valores encontrados indexados por sus claves. Las claves que no están
presentes en la caché se omiten del resultado a partir de yac 2.4.0, o se
rellenan con el valor de default si se indicó uno;
antes de la versión 2.4.0, se insertaba un marcador false por cada clave
ausente.
Ejemplo #1 Ejemplo de Yac::get()
<?php
$yac = new Yac();
$yac->set("foo", "bar");
var_dump($yac->get("foo")); // string(3) "bar"
var_dump($yac->get("missing")); // bool(false): un fallo de caché
?>Ejemplo #2 Distinguir un false almacenado de un fallo de caché
<?php
$yac = new Yac();
// un fallo de caché y un false almacenado son indistinguibles sin un valor
// por defecto; un valor centinela (disponible a partir de yac 2.4.0) permite
// diferenciarlos
$yac->set("flag", false);
var_dump($yac->get("flag")); // bool(false): el valor almacenado
var_dump($yac->get("missing", false)); // bool(false): un fallo de caché, misma forma
var_dump($yac->get("flag", "__NONE__")); // bool(false): el valor almacenado
var_dump($yac->get("missing", "__NONE__")); // string(8) "__NONE__": un fallo de caché
?>Ejemplo #3 Recuperar varias claves en una sola llamada
<?php
$yac = new Yac();
$yac->set("foo", "bar");
$yac->set("foo2", "bar2");
// con un array de claves, solo las claves encontradas están presentes en el resultado
var_dump($yac->get(array("foo", "foo2", "missing")));
// array(2) { ["foo"]=> string(3) "bar" ["foo2"]=> string(4) "bar2" }
?>