/** * Generate Namespace collection * * @param $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) )); if ($config_user = $config->namespaces->user) { $nsCollection = $this->addCustomNamespacesToCollection($nsCollection, $config_user); } return $nsCollection; }