These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
1 | <?php |
||
2 | |||
3 | namespace Kunstmaan\AdminBundle\Helper\AdminPanel; |
||
4 | |||
5 | class AdminPanel |
||
6 | { |
||
7 | /** |
||
8 | * @var AdminPanelAdaptorInterface[] |
||
9 | */ |
||
10 | private $adaptors = array(); |
||
11 | |||
12 | /** |
||
13 | * @var AdminPanelAdaptorInterface[] |
||
14 | */ |
||
15 | private $sorted = array(); |
||
16 | |||
17 | /** |
||
18 | * @var AdminPanelActionInterface[] |
||
19 | */ |
||
20 | private $actions = null; |
||
21 | |||
22 | /** |
||
23 | * Add admin panel adaptor |
||
24 | * |
||
25 | * @param AdminPanelAdaptorInterface $adaptor |
||
26 | */ |
||
27 | 1 | public function addAdminPanelAdaptor(AdminPanelAdaptorInterface $adaptor, $priority = 0) |
|
28 | { |
||
29 | 1 | $this->adaptors[$priority][] = $adaptor; |
|
30 | 1 | unset($this->sorted); |
|
31 | 1 | } |
|
32 | |||
33 | /** |
||
34 | * Return current admin panel actions |
||
35 | */ |
||
36 | 1 | public function getAdminPanelActions() |
|
37 | { |
||
38 | 1 | if (!$this->actions) { |
|
39 | 1 | $this->actions = array(); |
|
40 | 1 | $adaptors = $this->getAdaptors(); |
|
41 | 1 | foreach ($adaptors as $adaptor) { |
|
42 | 1 | $this->actions = array_merge($this->actions, $adaptor->getAdminPanelActions()); |
|
0 ignored issues
–
show
|
|||
43 | } |
||
44 | } |
||
45 | |||
46 | 1 | return $this->actions; |
|
47 | } |
||
48 | |||
49 | /** |
||
50 | * Get adaptors sorted by priority. |
||
51 | * |
||
52 | * @return \Kunstmaan\AdminBundle\Helper\AdminPanel\AdminPanelAdaptorInterface[] |
||
53 | */ |
||
54 | 1 | private function getAdaptors() |
|
55 | { |
||
56 | 1 | if (!isset($this->sorted)) { |
|
57 | 1 | $this->sortAdaptors(); |
|
58 | } |
||
59 | |||
60 | 1 | return $this->sorted; |
|
61 | } |
||
62 | |||
63 | /** |
||
64 | * Sorts the internal list of adaptors by priority. |
||
65 | */ |
||
66 | 1 | View Code Duplication | private function sortAdaptors() |
67 | { |
||
68 | 1 | $this->sorted = array(); |
|
69 | |||
70 | 1 | if (isset($this->adaptors)) { |
|
71 | 1 | krsort($this->adaptors); |
|
72 | 1 | $this->sorted = call_user_func_array('array_merge', $this->adaptors); |
|
0 ignored issues
–
show
It seems like
call_user_func_array('ar...erge', $this->adaptors) of type * is incompatible with the declared type array<integer,object<Kun...PanelAdaptorInterface>> of property $sorted .
Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property. Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property..
Loading history...
|
|||
73 | } |
||
74 | 1 | } |
|
75 | } |
||
76 |
Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property.
Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property..