Knp\Bundle\KnpBundlesBundle\Manager\BundleManager::createBundle PHP Метод

createBundle() публичный Метод

public createBundle ( string $fullName, boolean $flushEntities = true ) : boolean | Bundle
$fullName string
$flushEntities boolean
Результат boolean | Knp\Bundle\KnpBundlesBundle\Entity\Bundle return false if the bundle is not valid
    public function createBundle($fullName, $flushEntities = true)
    {
        if (strpos($fullName, '/')) {
            list($ownerName, $bundleName) = explode('/', $fullName);
            $findBy = array('ownerName' => $ownerName, 'name' => $bundleName);
        } else {
            $findBy = array('name' => $fullName);
        }
        $bundle = $this->findBundleBy($findBy);
        if (!$bundle) {
            if (!isset($findBy['ownerName'])) {
                $bundle = $this->createEmptyBundle($fullName);
            } else {
                $bundle = $this->createFullBundle($findBy['name'], $findBy['ownerName']);
            }
            if (!$bundle) {
                return false;
            }
            $this->entityManager->persist($bundle);
            if ($flushEntities) {
                $this->entityManager->flush();
            }
        }
        return $bundle;
    }

Usage Example

Пример #1
0
 /**
  * Add or update a repo
  *
  * @param string  $fullName    A full repo name like KnpLabs/KnpMenuBundle
  * @param boolean $updateRepo  Whether or not to fetch information
  *
  * @return boolean|Bundle
  */
 public function addBundle($fullName, $updateRepo = true)
 {
     $bundle = $this->bundleManager->createBundle($fullName);
     if (!$bundle) {
         return false;
     }
     if ($updateRepo) {
         $this->updateRepo($bundle);
     }
     return $bundle;
 }