1: <?php
2:
3: namespace PHPixie\HTTP;
4:
5: /**
6: * Represents a HTTP context
7: * containing a request and cookie and session storages
8: */
9: class Context
10: {
11: /**
12: * @var Request
13: */
14: protected $request;
15:
16: /**
17: * @var Context\Cookies
18: */
19: protected $cookies;
20:
21: /**
22: * @var Context\Session
23: */
24: protected $session;
25:
26: /**
27: * @param Request $request
28: * @param Context\Cookies $cookies
29: * @param Context\Session $session
30: */
31: public function __construct($request, $cookies, $session)
32: {
33: $this->request = $request;
34: $this->cookies = $cookies;
35: $this->session = $session;
36: }
37:
38: /**
39: * HTTP request
40: * @return Request
41: */
42: public function request()
43: {
44: return $this->request;
45: }
46:
47: /**
48: * Cookie storage
49: * @return Context\Cookies
50: */
51: public function cookies()
52: {
53: return $this->cookies;
54: }
55:
56: /**
57: * Session storage
58: * @return Context\Session
59: */
60: public function session()
61: {
62: return $this->session;
63: }
64: }