@Cache

Usage

The @Cache annotation makes it easy to define HTTP caching:

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Cache;

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

You can also use the annotation on a class to define caching for all methods:

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

When there is a conflict between the class configuration and the method configuration, the latter overrides the former:

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

Attributes

Here is a list of accepted attributes and their HTTP header equivalent:

Annotation Response Method
@Cache(expires="tomorrow") $response->setExpires()
@Cache(smaxage="15") $response->setSharedMaxAge()
@Cache(maxage="15") $response->setMaxAge()
@Cache(vary=["Cookie"]) $response->setVary()

Note

The expires attribute takes any valid date understood by the PHP strtotime() function.

このページのコンテンツ

前のドキュメント

@Template

次のドキュメント

Symfony2 プロジェクトへの貢献

ソース



クイックリンク

コメントリスト


ご質問や翻訳不備等お気軽にコメントください。


現在、翻訳が古くなっている箇所が多くあります。1箇所、1行などほんの少量でもかまいませんので、ドキュメント翻訳にご協力いただける方を募集しています。日本 Symfony ユーザー会メーリングリストまでご連絡ください。