Networking\InitCmsBundle\Form\ORMQueryBuilderLoader::__construct PHP Method

__construct() public method

Construct an ORM Query Builder Loader.
public __construct ( Doctrine\ORM\QueryBuilder | Closure $queryBuilder, Doctrine\Common\Persistence\ObjectManager $manager = null, string $class = null )
$queryBuilder Doctrine\ORM\QueryBuilder | Closure The query builder or a closure for creating the query builder. Passing a closure is deprecated and will not be supported anymore as of Symfony 3.0.
$manager Doctrine\Common\Persistence\ObjectManager Deprecated.
$class string Deprecated.
    public function __construct($queryBuilder, $manager = null, $class = null)
    {
        // If a query builder was passed, it must be a closure or QueryBuilder
        // instance
        if (!($queryBuilder instanceof QueryBuilder || $queryBuilder instanceof \Closure)) {
            throw new UnexpectedTypeException($queryBuilder, 'Doctrine\\ORM\\QueryBuilder or \\Closure');
        }
        if ($queryBuilder instanceof \Closure) {
            @trigger_error('Passing a QueryBuilder closure to ' . __CLASS__ . '::__construct() is deprecated since version 2.7 and will be removed in 3.0.', E_USER_DEPRECATED);
            if (!$manager instanceof ObjectManager) {
                throw new UnexpectedTypeException($manager, 'Doctrine\\Common\\Persistence\\ObjectManager');
            }
            @trigger_error('Passing an EntityManager to ' . __CLASS__ . '::__construct() is deprecated since version 2.7 and will be removed in 3.0.', E_USER_DEPRECATED);
            @trigger_error('Passing a class to ' . __CLASS__ . '::__construct() is deprecated since version 2.7 and will be removed in 3.0.', E_USER_DEPRECATED);
            $queryBuilder = $queryBuilder($manager->getRepository($class));
            if (!$queryBuilder instanceof QueryBuilder) {
                throw new UnexpectedTypeException($queryBuilder, 'Doctrine\\ORM\\QueryBuilder');
            }
        }
        $this->queryBuilder = $queryBuilder;
    }