Completed
Push — master ( f22aed...46f558 )
by Chin
03:14
created

RouterMacros::multilingual()   A

Complexity

Conditions 4
Paths 1

Size

Total Lines 13

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 4
nc 1
nop 0
dl 0
loc 13
rs 9.8333
c 0
b 0
f 0
1
<?php
2
3
namespace ChinLeung\MultilingualRoutes\Macros;
4
5
use ChinLeung\MultilingualRoutes\MultilingualRegistrar;
6
use ChinLeung\MultilingualRoutes\MultilingualRoutePendingRegistration;
7
use Closure;
8
9
class RouterMacros
10
{
11
    /**
12
     * Register a multilingual GET route.
13
     *
14
     * @param  string  $key
15
     * @param  mixed  $handle
16
     * @param  array  $locales
17
     * @return \Closure
18
     */
19
    public function multilingual(): Closure
20
    {
21
        return function ($key, $handle = null, $locales = []) {
22
            return new MultilingualRoutePendingRegistration(
23
                $this->container && $this->container->bound(MultilingualRegistrar::class)
24
                    ? $this->container->make(MultilingualRegistrar::class)
25
                    : new MultilingualRegistrar($this),
0 ignored issues
show
Documentation introduced by
$this is of type this<ChinLeung\Multiling...es\Macros\RouterMacros>, but the function expects a object<Illuminate\Routing\Router>.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
26
                ltrim($key, '/'),
27
                $handle,
28
                $locales ?: locales()
29
            );
30
        };
31
    }
32
}
33