@Cache

Usando

La anotación @cache facilita la definición del almacenamiento en caché HTTP:

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Cache;

/**
 * @Cache(expires="tomorrow")
 */
public function indexAction()
{
}

También puedes utilizar la anotación en una clase para definir el almacenamiento en caché para todos sus métodos:

/**
 * @Cache(expires="tomorrow")
 */
class BlogController extends Controller
{
}

Cuando hay un conflicto entre la configuración de la clase y la configuración del método, esta última reemplaza a la anterior:

/**
 * @Cache(expires="tomorrow")
 */
class BlogController extends Controller
{
    /**
     * @Cache(expires="+2 days")
     */
    public function indexAction()
    {
    }
}

Atributos

Aquí está una lista de los atributos aceptados y su encabezado HTTP equivalente:

Anotación Método de respuesta
@Cache(expires="tomorrow") $response->setExpires()
@Cache(smaxage="15") $response->setSharedMaxAge()
@Cache(maxage="15") $response->setMaxAge()
@Cache(vary=["Cookie"]) `$response->setVary()

Nota

El atributo expires toma cualquier fecha válida entendida por la función strtotime() de PHP.

Bifúrcame en GitHub