Completed
Push — master ( 679235...86db02 )
by Zlatin
05:04
created

PaginationServiceProvider   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 46
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 5

Test Coverage

Coverage 78.56%

Importance

Changes 5
Bugs 0 Features 1
Metric Value
wmc 1
c 5
b 0
f 1
lcom 0
cbo 5
dl 0
loc 46
ccs 22
cts 28
cp 0.7856
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
B register() 0 41 1
1
<?php
2
3
namespace Pagination;
4
5
use Pimple\Container;
6
use Silex\Application;
7
use Pimple\ServiceProviderInterface;
8
use Symfony\Component\Translation\Translator;
9
10
class PaginationServiceProvider implements ServiceProviderInterface
11
{
12
13 5
    public function register(Container $app)
14
    {
15
16 5
        $app['paginator.options'] = array(
17 5
            'offset_page' => 2,
18 5
            'page_param' => 'page',
19 5
            'items_per_page' => 10,
20
            'hide_prev_next' => true
21 5
        );
22
23
        $app['paginator'] = $app->factory(function($app) {
24
25 3
            $app['paginator.options'] = array_replace(array(
26 3
                'offset_page' => 2,
27 3
                'page_param' => 'page',
28 3
                'items_per_page' => 10,
29
                'hide_prev_next' => true
30 3
                    ), $app['paginator.options']);
31
32 3
            return new \Pagination\Util\Paginator($app);
0 ignored issues
show
Documentation introduced by
$app is of type array<string,array<strin...eger|string|boolean>"}>, but the function expects a object<Silex\Application>.

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...
33 5
        });
34
35 5
        $app->register(new \Silex\Provider\TwigServiceProvider());
36 5
        $app->register(new \Silex\Provider\TranslationServiceProvider());
37
38
        $app['twig'] = $app->extend('twig', function(\Twig_Environment $twig) {
39
            $twig->addExtension(new Twig\TwigExtension());
40
            return $twig;
41 5
        });
42
43 5
        $app['twig.path'] = array_merge_recursive($app['twig.path'], array(
44 5
            __DIR__ . DIRECTORY_SEPARATOR . 'Resources' . DIRECTORY_SEPARATOR . 'views'
45 5
        ));
46
47 5
        $app['translator'] = $app->extend('translator', function(Translator $translator, Application $app) {
0 ignored issues
show
Unused Code introduced by
The parameter $app is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
48
            $translationDirectory = __DIR__ . DIRECTORY_SEPARATOR . 'Resources' . DIRECTORY_SEPARATOR . 'translations';
49
            $translator->addResource('yaml', $translationDirectory . DIRECTORY_SEPARATOR . 'messages.bg.yml', 'bg');
50
            $translator->addResource('yaml', $translationDirectory . DIRECTORY_SEPARATOR . 'messages.en.yml', 'en');
51
            return $translator;
52 5
        });
53 5
    }
54
55
}
56