Check that arguments can be used as reference when one is expected
These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
1 | <?php |
||
2 | /** |
||
3 | * HiPanel API client made with HiART. |
||
4 | * |
||
5 | * @link https://github.com/hiqdev/hipanel-hiart |
||
6 | * @package hipanel-hiart |
||
7 | * @license BSD-3-Clause |
||
8 | * @copyright Copyright (c) 2017, HiQDev (http://hiqdev.com/) |
||
9 | */ |
||
10 | |||
11 | namespace hipanel\hiart; |
||
12 | |||
13 | use hiqdev\hiart\AbstractResponse; |
||
14 | use yii\helpers\Json; |
||
15 | |||
16 | /** |
||
17 | * Command for HiPanel API. |
||
18 | */ |
||
19 | class Command extends \hiqdev\hiart\Command |
||
20 | { |
||
21 | public function search($options = []) |
||
22 | { |
||
23 | /** @var AbstractResponse $response */ |
||
24 | $response = parent::search($options); |
||
25 | |||
26 | if ($this->request->getQuery()->getOption('batch')) { |
||
27 | return $response; |
||
28 | } |
||
29 | |||
30 | if ($response->getData() === []) { |
||
31 | return $this->fakeResponseWithData($response, ''); |
||
32 | } |
||
33 | |||
34 | return $this->fakeResponseWithData($response, Json::encode(reset($response->getData()))); |
||
0 ignored issues
–
show
Bug
introduced
by
Loading history...
|
|||
35 | } |
||
36 | |||
37 | private function fakeResponseWithData(AbstractResponse $response, $data) |
||
38 | { |
||
39 | $newResponse = clone $response; |
||
40 | $newResponseReflection = new \ReflectionObject($newResponse); |
||
41 | |||
42 | $isDecodedProperty = $newResponseReflection->getProperty('isDecoded'); |
||
43 | $isDecodedProperty->setAccessible(true); |
||
44 | $isDecodedProperty->setValue($newResponse, false); |
||
45 | $isDecodedProperty->setAccessible(false); |
||
46 | |||
47 | $rawDataProperty = $newResponseReflection->getProperty('rawData'); |
||
48 | $rawDataProperty->setAccessible(true); |
||
49 | $rawDataProperty->setValue($newResponse, $data); |
||
50 | $rawDataProperty->setAccessible(false); |
||
51 | |||
52 | return $newResponse; |
||
53 | } |
||
54 | } |
||
55 |