Installer\Nspace\NspaceCollection::add PHP Method

add() public method

public add ( $namespace )
    public function add($namespace)
    {
        $this->collection[] = $namespace;
        $this->calculateSize($namespace->getNamespace());
    }

Usage Example

    /**
     * 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;
    }