Completed
Push — 4.0 ( 87d096...bcc1be )
by Kiyotaka
05:44 queued 11s
created

src/Eccube/Doctrine/Query/Queries.php (1 issue)

Labels
Severity

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
/*
4
 * This file is part of EC-CUBE
5
 *
6
 * Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
7
 *
8
 * http://www.ec-cube.co.jp/
9
 *
10
 * For the full copyright and license information, please view the LICENSE
11
 * file that was distributed with this source code.
12
 */
13
14
namespace Eccube\Doctrine\Query;
15
16
use Doctrine\ORM\QueryBuilder;
17
18
class Queries
19
{
20
    /**
21
     * @var QueryCustomizer[]
22
     */
23
    private $customizers = [];
24
25 3
    public function addCustomizer(QueryCustomizer $customizer)
26
    {
27 3
        $queryKey = $customizer->getQueryKey();
28 3
        $this->customizers[$queryKey][] = $customizer;
29
    }
30
31 132
    public function customize($queryKey, QueryBuilder $builder, $params)
32
    {
33 132
        if (isset($this->customizers[$queryKey])) {
34
            /* @var QueryCustomizer $customizer */
35 1
            foreach ($this->customizers[$queryKey] as $customizer) {
0 ignored issues
show
The expression $this->customizers[$queryKey] of type object<Eccube\Doctrine\Query\QueryCustomizer> is not traversable.
Loading history...
36 1
                $customizer->customize($builder, $params, $queryKey);
37
            }
38
        }
39
40 132
        return $builder;
41
    }
42
}
43