| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- <?php
- /*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- namespace Symfony\Component\HttpKernel\Attribute;
- /**
- * Describes the default HTTP cache headers on controllers.
- * Headers defined in the Cache attribute are ignored if they are already set
- * by the controller.
- *
- * @see https://symfony.com/doc/current/http_cache.html#making-your-responses-http-cacheable
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
- #[\Attribute(\Attribute::TARGET_CLASS | \Attribute::TARGET_METHOD | \Attribute::TARGET_FUNCTION)]
- final class Cache
- {
- public function __construct(
- /**
- * The expiration date as a valid date for the strtotime() function.
- */
- public ?string $expires = null,
- /**
- * The number of seconds that the response is considered fresh by a private
- * cache like a web browser.
- */
- public int|string|null $maxage = null,
- /**
- * The number of seconds that the response is considered fresh by a public
- * cache like a reverse proxy cache.
- */
- public int|string|null $smaxage = null,
- /**
- * If true, the contents will be stored in a public cache and served to all
- * the next requests.
- */
- public ?bool $public = null,
- /**
- * If true, the response is not served stale by a cache in any circumstance
- * without first revalidating with the origin.
- */
- public bool $mustRevalidate = false,
- /**
- * Set "Vary" header.
- *
- * Example:
- * ['Accept-Encoding', 'User-Agent']
- *
- * @see https://symfony.com/doc/current/http_cache/cache_vary.html
- *
- * @var string[]
- */
- public array $vary = [],
- /**
- * An expression to compute the Last-Modified HTTP header.
- *
- * The expression is evaluated by the ExpressionLanguage component, it
- * receives all the request attributes and the resolved controller arguments.
- *
- * The result of the expression must be a DateTimeInterface.
- */
- public ?string $lastModified = null,
- /**
- * An expression to compute the ETag HTTP header.
- *
- * The expression is evaluated by the ExpressionLanguage component, it
- * receives all the request attributes and the resolved controller arguments.
- *
- * The result must be a string that will be hashed.
- */
- public ?string $etag = null,
- /**
- * max-stale Cache-Control header
- * It can be expressed in seconds or with a relative time format (1 day, 2 weeks, ...).
- */
- public int|string|null $maxStale = null,
- /**
- * stale-while-revalidate Cache-Control header
- * It can be expressed in seconds or with a relative time format (1 day, 2 weeks, ...).
- */
- public int|string|null $staleWhileRevalidate = null,
- /**
- * stale-if-error Cache-Control header
- * It can be expressed in seconds or with a relative time format (1 day, 2 weeks, ...).
- */
- public int|string|null $staleIfError = null,
- ) {
- }
- }
|