/** * create() * * @param string $path */ public function create($path) { if ($path == null) { $path = getcwd(); } else { $path = trim($path); if (!file_exists($path)) { $created = mkdir($path); if (!$created) { require_once 'Zend/Tool/Framework/Client/Exception.php'; throw new Zend_Tool_Framework_Client_Exception('Could not create requested project directory \'' . $path . '\''); } } $path = str_replace('\\', '/', realpath($path)); } $profile = $this->_loadProfile(self::NO_PROFILE_RETURN_FALSE, $path); if ($profile !== false) { require_once 'Zend/Tool/Framework/Client/Exception.php'; throw new Zend_Tool_Framework_Client_Exception('A project already exists here'); } $newProfile = new Zend_Tool_Project_Profile(array('projectDirectory' => $path, 'profileData' => $this->_getDefaultProfile())); $newProfile->loadFromData(); $this->_registry->getResponse()->appendContent('Creating project at ' . $path); foreach ($newProfile->getIterator() as $resource) { $resource->create(); } }
public function testProfileCanDelete() { $this->_standardProfileFromData->loadFromData(); foreach ($this->_standardProfileFromData->getIterator() as $resource) { $resource->getContext()->create(); } $this->assertTrue(file_exists($this->_projectDirectory . 'public/index.php')); $publicIndexFile = $this->_standardProfileFromData->search('publicIndexFile'); $publicIndexFile->getContext()->delete(); $this->assertFalse(file_exists($this->_projectDirectory . 'public/index.php')); $appConfigFile = $this->_standardProfileFromData->search('applicationConfigFile'); $appConfigFile->getContext()->delete(); $configsDirectory = $this->_standardProfileFromData->search('configsDirectory'); $configsDirectory->getContext()->delete(); $this->assertFalse(file_exists($this->_projectDirectory . 'application/configs')); }
/** * create() * * @param string $path * @param string $nameOfProfile shortName=n * @param string $fileOfProfile shortName=f */ public function create($path, $nameOfProfile = null, $fileOfProfile = null) { if ($path == null) { $path = getcwd(); } else { $path = trim($path); if (!file_exists($path)) { $created = mkdir($path); if (!$created) { require_once 'Zend/Tool/Framework/Client/Exception.php'; throw new Zend_Tool_Framework_Client_Exception('Could not create requested project directory \'' . $path . '\''); } } $path = str_replace('\\', '/', realpath($path)); } $profile = $this->_loadProfile(self::NO_PROFILE_RETURN_FALSE, $path); if ($profile !== false) { require_once 'Zend/Tool/Framework/Client/Exception.php'; throw new Zend_Tool_Framework_Client_Exception('A project already exists here'); } $profileData = null; if ($fileOfProfile != null && file_exists($fileOfProfile)) { $profileData = file_get_contents($fileOfProfile); } $storage = $this->_registry->getStorage(); if ($profileData == '' && $nameOfProfile != null && $storage->isEnabled()) { $profileData = $storage->get('project/profiles/' . $nameOfProfile . '.xml'); } if ($profileData == '') { $profileData = $this->_getDefaultProfile(); } $newProfile = new Zend_Tool_Project_Profile(array('projectDirectory' => $path, 'profileData' => $profileData)); $newProfile->loadFromData(); $response = $this->_registry->getResponse(); $response->appendContent('Creating project at ' . $path); $response->appendContent('Note: ', array('separator' => false, 'color' => 'yellow')); $response->appendContent('This command created a web project, ' . 'for more information setting up your VHOST, please see docs/README'); if (!Zend_Tool_Project_Provider_Test::isPHPUnitAvailable()) { $response->appendContent('Testing Note: ', array('separator' => false, 'color' => 'yellow')); $response->appendContent('PHPUnit was not found in your include_path, therefore no testing actions will be created.'); } foreach ($newProfile->getIterator() as $resource) { $resource->create(); } }