1 | <?php |
||
15 | class UserAgent extends AbstractCallbackMediator implements ProxyableThrough, Unique |
||
16 | { |
||
17 | const ACCEPT_HEADER = 'HTTP_USER_AGENT'; |
||
18 | private $negotiated = false; |
||
19 | |||
20 | 4 | protected function identifyRequested(Request $request, $params) |
|
28 | 3 | protected function notifyApproved($requested, $provided, Request $request, $params) |
|
29 | { |
||
30 | 3 | $this->negotiated = new SplObjectStorage(); |
|
31 | 3 | $this->negotiated[$request] = $this->getCallback($provided); |
|
32 | 3 | } |
|
33 | 1 | protected function notifyDeclined($requested, $provided, Request $request, $params) |
|
37 | |||
38 | 5 | protected function authorize($requested, $provided) |
|
46 | |||
47 | 4 | public function through(Request $request, $params) |
|
53 | } |
||
54 |
Instead of super-globals, we recommend to explicitly inject the dependencies of your class. This makes your code less dependent on global state and it becomes generally more testable: