These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
1 | <?php |
||
2 | namespace Robo\Task\Base; |
||
3 | |||
4 | trait loadTasks |
||
5 | { |
||
6 | /** |
||
7 | * @param string|\Robo\Contract\CommandInterface $command |
||
8 | * |
||
9 | * @return Exec |
||
10 | */ |
||
11 | protected function taskExec($command) |
||
12 | { |
||
13 | return $this->task(Exec::class, $command); |
||
14 | } |
||
15 | |||
16 | protected function taskExecStack() |
||
17 | { |
||
18 | return $this->task(ExecStack::class); |
||
0 ignored issues
–
show
|
|||
19 | } |
||
20 | |||
21 | /** |
||
22 | * @return ParallelExec |
||
23 | */ |
||
24 | protected function taskParallelExec() |
||
25 | { |
||
26 | return $this->task(ParallelExec::class); |
||
27 | } |
||
28 | |||
29 | /** |
||
30 | * @param $command |
||
31 | * @return SymfonyCommand |
||
32 | */ |
||
33 | protected function taskSymfonyCommand($command) |
||
34 | { |
||
35 | return $this->task(SymfonyCommand::class, $command); |
||
36 | } |
||
37 | |||
38 | /** |
||
39 | * @return Watch |
||
40 | */ |
||
41 | protected function taskWatch() |
||
42 | { |
||
43 | return $this->task(Watch::class, $this); |
||
44 | } |
||
45 | } |
||
46 |
This check looks for methods that are used by a trait but not required by it.
To illustrate, let’s look at the following code example
The trait
Idable
provides a methodequalsId
that in turn relies on the methodgetId()
. If this method does not exist on a class mixing in this trait, the method will fail.Adding the
getId()
as an abstract method to the trait will make sure it is available.