Command\GenerateProjectCommand::generateNamespacesCollection PHP Method

generateNamespacesCollection() private method

Generate Namespace collection
private generateNamespacesCollection ( $input, $config )
$input
    private function generateNamespacesCollection($input, $config)
    {
        $ns = $config->namespaces->installer;
        $nsCollection = new NspaceCollection();
        $nsCollection->add(new Nspace($ns->symfony->name, $this->extractPath($ns->symfony->path)));
        $nsCollection->add(new Nspace($input->getArgument('vendor'), 'src'));
        if ('doctrine' === $input->getOption('orm') || 'mongodb' === $input->getOption('odm')) {
            $nsCollection->add(new Nspace($ns->doctrinecommon->name, $this->extractPath($ns->doctrinecommon->path)));
        }
        if ('doctrine' === $input->getOption('orm')) {
            if ($input->getOption('doctrine-fixtures')) {
                $nsCollection->add(new Nspace($ns->doctrinedatafixtures->name, $this->extractPath($ns->doctrinedatafixtures->path)));
            }
            if ($input->getOption('doctrine-migration')) {
                $nsCollection->add(new Nspace($ns->doctrinemigrations->name, $this->extractPath($ns->doctrinemigrations->path)));
            }
        }
        if ('mongodb' === $input->getOption('odm')) {
            $nsCollection->add(new Nspace($ns->doctrinemongodb->name, $this->extractPath($ns->doctrinemongodb->path)));
            $nsCollection->add(new Nspace($ns->doctrinemongodbodm->name, $this->extractPath($ns->doctrinemongodbodm->path)));
        }
        if ('mandango' === $input->getOption('odm')) {
            $nsCollection->add(new Nspace($ns->mandangobundle->name, $this->extractPath($ns->mandangobundle->path)));
            $nsCollection->add(new Nspace($ns->mondator->name, $this->extractPath($ns->mondator->path)));
            $nsCollection->add(new Nspace($ns->mandango->name, $this->extractPath($ns->mandango->path)));
            $nsCollection->add(new Nspace($ns->mandangomodel->name, $this->extractPath($ns->mandangomodel->path)));
        }
        if ('doctrine' === $input->getOption('orm')) {
            $nsCollection->add(new Nspace($ns->doctrinedbal->name, $this->extractPath($ns->doctrinedbal->path)));
            $nsCollection->add(new Nspace($ns->doctrine->name, $this->extractPath($ns->doctrine->path)));
        }
        if ('propel' === $input->getOption('orm')) {
            $nsCollection->add(new Nspace($ns->propel->name, $this->extractPath($ns->propel->path)));
        }
        if ($input->getOption('assetic')) {
            $nsCollection->add(new Nspace($ns->assetic->name, $this->extractPath($ns->assetic->path)));
        }
        $nsCollection->add(new Nspace($ns->monolog->name, $this->extractPath($ns->monolog->path)));
        $nsCollection->add(new Nspace($ns->metadata->name, $this->extractPath($ns->metadata->path)));
        if ($config_user = $config->namespaces->user) {
            $nsCollection = $this->addCustomNamespacesToCollection($nsCollection, $config_user);
        }
        return $nsCollection;
    }