1 | <?php |
||
7 | class Response |
||
8 | { |
||
9 | const CODE_OK = 0; |
||
10 | const CODE_WRONG_PARAMETERS = 1; |
||
11 | const CODE_INTERNAL_ERROR = 2; |
||
12 | const CODE_NO_SUCH_FUNCTION = 3; |
||
13 | const CODE_NO_OR_WRONG_API_KEY = 4; |
||
14 | |||
15 | /** @var array */ |
||
16 | private $data; |
||
17 | |||
18 | /** |
||
19 | * @param ResponseInterface $response |
||
20 | */ |
||
21 | 5 | public function __construct(ResponseInterface $response) |
|
29 | |||
30 | /** |
||
31 | * @return string|null |
||
32 | */ |
||
33 | 4 | public function getCode() |
|
37 | |||
38 | /** |
||
39 | * @return string|null |
||
40 | */ |
||
41 | 4 | public function getMessage() |
|
45 | |||
46 | /** |
||
47 | * Get Response Data Array. |
||
48 | * |
||
49 | * By default the whole array will be returned. In order to retrieve just a key based response, provide an array Key. |
||
50 | * |
||
51 | * ```php |
||
52 | * $response = (new Client())->createAuthorIfNotExistsFor(1, 'John Doe'); |
||
53 | * $authorId = $response->getData('authorID'); |
||
54 | * ``` |
||
55 | * |
||
56 | * @param string $key Access a given key from the data array, if no key is provided all data will be returned. |
||
57 | * @param mixed $defaultValue If the given key is not found in the array, the $defaultValue will be returned. |
||
58 | * @return string|null |
||
59 | */ |
||
60 | 5 | public function getData($key = null, $defaultValue = null) |
|
61 | { |
||
62 | 5 | $data = $this->getPropertyFromData('data'); |
|
63 | |||
64 | 5 | if ($key) { |
|
|
|||
65 | 1 | return isset($data[$key]) ? $data[$key] : $defaultValue; |
|
66 | } |
||
67 | |||
68 | 4 | return $data; |
|
69 | } |
||
70 | |||
71 | /** |
||
72 | * @return array |
||
73 | */ |
||
74 | 4 | public function getResponse() |
|
78 | |||
79 | /** |
||
80 | * @param string $key |
||
81 | * @return mixed |
||
82 | */ |
||
83 | 5 | private function getPropertyFromData($key) |
|
87 | } |
||
88 |
In PHP, under loose comparison (like
==
, or!=
, orswitch
conditions), values of different types might be equal.For
string
values, the empty string''
is a special case, in particular the following results might be unexpected: