Completed
Push — master ( 6731e6...94ee55 )
by Florian
10s
created

src/Link/Combine.php (2 issues)

Upgrade to new PHP Analysis Engine

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 Cocur\Chain\Link;
4
5
use Cocur\Chain\Chain;
6
7
/**
8
 * Class ChangeKeyCase.
9
 *
10
 * @author      Christoph Rosse
11
 */
12
trait Combine
13
{
14
    /**
15
     * Creates an Chain by using one Chain for keys and another for its values.
16
     *
17
     * @param Chain|array $keys   Array or instance of `Cocur\Chain\Chain` of keys to be used. Illegal values for key
18
     *                            will be converted to string.
19
     * @param Chain|array $values Array or instance of `Cocur\Chain\Chain` of values to be used.
20
     *
21
     * @return Chain
0 ignored issues
show
Should the return type not be Combine?

This check compares the return type specified in the @return annotation of a function or method doc comment with the types returned by the function and raises an issue if they mismatch.

Loading history...
22
     */
23 2
    public function combine($keys, $values)
24
    {
25 2
        $this->array = array_combine(
0 ignored issues
show
The property array does not exist. Did you maybe forget to declare it?

In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:

class MyClass { }

$x = new MyClass();
$x->foo = true;

Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion:

class MyClass {
    public $foo;
}

$x = new MyClass();
$x->foo = true;
Loading history...
26 2
            $keys instanceof Chain ? $keys->array : $keys,
27 2
            $values instanceof Chain ? $values->array : $values
28
        );
29
30 2
        return $this;
31
    }
32
}
33