These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
1 | <?php |
||
2 | namespace gossi\swagger\collections; |
||
3 | |||
4 | use gossi\swagger\Schema; |
||
5 | use phootwork\collection\CollectionUtils; |
||
6 | use phootwork\lang\Arrayable; |
||
7 | use phootwork\collection\Map; |
||
8 | |||
9 | class Definitions implements Arrayable { |
||
10 | |||
11 | /** @var Map */ |
||
12 | private $definitions; |
||
13 | |||
14 | 11 | public function __construct($contents = null) { |
|
15 | 11 | $this->parse($contents === null ? new Map() : $contents); |
|
16 | 11 | } |
|
17 | |||
18 | 11 | private function parse($contents) { |
|
19 | 11 | $data = CollectionUtils::toMap($contents); |
|
20 | |||
21 | 11 | $this->definitions = new Map(); |
|
22 | 11 | foreach ($data as $name => $prop) { |
|
23 | 5 | $this->definitions->set($name, new Schema($prop)); |
|
24 | 11 | } |
|
25 | 11 | } |
|
26 | |||
27 | 6 | public function toArray() { |
|
28 | 6 | return $this->definitions->toArray(); |
|
29 | } |
||
30 | |||
31 | 1 | public function size() { |
|
32 | 1 | return $this->definitions->size(); |
|
33 | } |
||
34 | |||
35 | /** |
||
36 | * Returns the schema for the given field |
||
37 | * |
||
38 | * @param string $name |
||
39 | * @return Schema |
||
40 | */ |
||
41 | 1 | public function get($name) { |
|
42 | 1 | return $this->definitions->get($name); |
|
43 | } |
||
44 | |||
45 | /** |
||
46 | * Sets the field |
||
47 | * |
||
48 | * @param string name |
||
49 | * @param Schema $schame |
||
0 ignored issues
–
show
|
|||
50 | */ |
||
51 | 1 | public function set($name, Schema $schema) { |
|
52 | 1 | $this->definitions->set($name, $schema); |
|
53 | 1 | } |
|
54 | |||
55 | /** |
||
56 | * Removes the given field |
||
57 | * |
||
58 | * @param string $name |
||
59 | */ |
||
60 | 1 | public function remove($name) { |
|
61 | 1 | $this->definitions->remove($name); |
|
62 | 1 | } |
|
63 | |||
64 | /** |
||
65 | * Returns definitions has a schema with the given name |
||
66 | * |
||
67 | * @param string $name |
||
68 | * @return boolean |
||
69 | */ |
||
70 | 1 | public function has($name) { |
|
71 | 1 | return $this->definitions->has($name); |
|
72 | } |
||
73 | |||
74 | /** |
||
75 | * Returns whether the given schema exists |
||
76 | * |
||
77 | * @param Schema $schema |
||
78 | * @return boolean |
||
79 | */ |
||
80 | 1 | public function contains(Schema $schema) { |
|
81 | 1 | return $this->definitions->contains($schema); |
|
82 | } |
||
83 | } |
||
84 |
This check looks for PHPDoc comments describing methods or function parameters that do not exist on the corresponding method or function.
Consider the following example. The parameter
$italy
is not defined by the methodfinale(...)
.The most likely cause is that the parameter was removed, but the annotation was not.