1 | <?php |
||
22 | class FileLocatorChain implements FileLocatorInterface |
||
23 | { |
||
24 | /** |
||
25 | * @var ChainableFileLocator[] |
||
26 | */ |
||
27 | private $locators = array(); |
||
28 | |||
29 | 3 | public function __construct(array $locators = array()) |
|
35 | |||
36 | 3 | public function addLocator(ChainableFileLocator $locator) |
|
40 | |||
41 | /** |
||
42 | * Returns a full path for a given file name. |
||
43 | * |
||
44 | * @param mixed $name The file name to locate |
||
45 | * @param string $currentPath The current path |
||
|
|||
46 | * @param bool $first Whether to return the first occurrence or an array of filenames |
||
47 | * |
||
48 | * @return string|array The full path to the file|An array of file paths |
||
49 | * |
||
50 | * @throws InvalidArgumentException When file is not found |
||
51 | */ |
||
52 | 3 | public function locate($name, $currentPath = null, $first = true) |
|
65 | } |
||
66 |
This check looks for
@param
annotations where the type inferred by our type inference engine differs from the declared type.It makes a suggestion as to what type it considers more descriptive.
Most often this is a case of a parameter that can be null in addition to its declared types.