Open Journal Systems  3.3.0
CacheControl.php
1 <?php
2 
4 
6 
10 class CacheControl extends Header
11 {
13  protected $directives;
14 
15  public function add($value)
16  {
17  parent::add($value);
18  $this->directives = null;
19  }
20 
21  public function removeValue($searchValue)
22  {
23  parent::removeValue($searchValue);
24  $this->directives = null;
25  }
26 
34  public function hasDirective($param)
35  {
36  $directives = $this->getDirectives();
37 
38  return isset($directives[$param]);
39  }
40 
48  public function getDirective($param)
49  {
50  $directives = $this->getDirectives();
51 
52  return isset($directives[$param]) ? $directives[$param] : null;
53  }
54 
63  public function addDirective($param, $value)
64  {
65  $directives = $this->getDirectives();
66  $directives[$param] = $value;
68 
69  return $this;
70  }
71 
79  public function removeDirective($param)
80  {
81  $directives = $this->getDirectives();
82  unset($directives[$param]);
84 
85  return $this;
86  }
87 
93  public function getDirectives()
94  {
95  if ($this->directives === null) {
96  $this->directives = array();
97  foreach ($this->parseParams() as $collection) {
98  foreach ($collection as $key => $value) {
99  $this->directives[$key] = $value === '' ? true : $value;
100  }
101  }
102  }
103 
104  return $this->directives;
105  }
106 
112  protected function updateFromDirectives(array $directives)
113  {
114  $this->directives = $directives;
115  $this->values = array();
116 
117  foreach ($directives as $key => $value) {
118  $this->values[] = $value === true ? $key : "{$key}={$value}";
119  }
120  }
121 }
Guzzle\Http\Message\Header\CacheControl\getDirective
getDirective($param)
Definition: CacheControl.php:51
Guzzle\Http\Message\Header
Definition: CacheControl.php:3
Guzzle\Http\Message\Header\CacheControl\updateFromDirectives
updateFromDirectives(array $directives)
Definition: CacheControl.php:115
Guzzle\Http\Message\Header\CacheControl\removeValue
removeValue($searchValue)
Definition: CacheControl.php:24
Guzzle\Http\Message\Header
Definition: Header.php:11
Guzzle\Http\Message\Header\CacheControl
Definition: CacheControl.php:10
Guzzle\Http\Message\Header\CacheControl\hasDirective
hasDirective($param)
Definition: CacheControl.php:37
Guzzle\Http\Message\Header\CacheControl\addDirective
addDirective($param, $value)
Definition: CacheControl.php:66
Guzzle\Http\Message\Header\parseParams
parseParams()
Definition: Header.php:126
Guzzle\Http\Message\Header\CacheControl\getDirectives
getDirectives()
Definition: CacheControl.php:96
Guzzle\Http\Message\Header\CacheControl\add
add($value)
Definition: CacheControl.php:18
Guzzle\Http\Message\Header\CacheControl\$directives
$directives
Definition: CacheControl.php:16
Guzzle\Http\Message\Header\CacheControl\removeDirective
removeDirective($param)
Definition: CacheControl.php:82