getCacheControlDirective() public method

Returns a Cache-Control directive value by name.
public getCacheControlDirective ( string $key ) : mixed | null
$key string The directive name
return mixed | null The directive value if defined, null otherwise
示例#1
0
 /**
  * Sets the number of seconds after the time specified in the response's Date
  * header when the the response should no longer be considered fresh.
  *
  * First, it checks for a s-maxage directive, then a max-age directive, and then it falls
  * back on an expires header. It returns null when no maximum age can be established.
  *
  * @return integer|null Number of seconds
  */
 public function getMaxAge()
 {
     if ($age = $this->headers->getCacheControlDirective('s-maxage')) {
         return $age;
     }
     if ($age = $this->headers->getCacheControlDirective('max-age')) {
         return $age;
     }
     if (null !== $this->getExpires()) {
         return $this->getExpires()->format('U') - $this->getDate()->format('U');
     }
     return null;
 }
 public function testCacheControlDirectiveOverrideWithReplace()
 {
     $bag = new HeaderBag(array('cache-control' => 'private, max-age=100'));
     $bag->replace(array('cache-control' => 'public, max-age=10'));
     $this->assertTrue($bag->hasCacheControlDirective('public'));
     $this->assertTrue($bag->getCacheControlDirective('public'));
     $this->assertTrue($bag->hasCacheControlDirective('max-age'));
     $this->assertEquals(10, $bag->getCacheControlDirective('max-age'));
 }