示例#1
0
 public function testEnsureFolder()
 {
     $fs = new Filesystem();
     $thisFolder = dirname(__FILE__);
     $folder = $fs->ensureFolder($thisFolder . DIRECTORY_SEPARATOR . __FUNCTION__);
     $this->assertFileExists($folder);
     $this->cleanup[] = $folder;
 }
示例#2
0
 /**
  * Create a new sub project
  * @param string $projectName
  * @param boolean $rebuild
  * @return string
  */
 public static function createNewProject($projectName, $rebuild = false, $deleteServices = true)
 {
     $fs = new Filesystem();
     $projectFolder = TEMP_DIR . '/TestProjects/' . $projectName;
     if ($rebuild) {
         if ($fs->exists($projectFolder)) {
             $fs->remove($projectFolder);
         }
     }
     $fs->ensureFolder($projectFolder);
     $projectFolder = realpath($projectFolder);
     self::runCommand($projectFolder, 'init');
     if ($deleteServices) {
         file_put_contents($projectFolder . '/config/services.json', json_encode([]));
     }
     return $projectFolder;
 }
示例#3
0
 public function __construct($projectFolder)
 {
     $this->projectFolder = $projectFolder;
     $this->targetRootFolder = $projectFolder . '/src';
     $this->modelFactoryMethods = [];
     $fs = new Filesystem();
     $fs->ensureFolder($this->targetRootFolder);
     $this->registerModelFactoryMethods();
 }
示例#4
0
 /**
  * Generates an application based on a template
  * @param string $template
  * @param OutputInterface $output
  */
 private function generateWithTemplate($template, OutputInterface $output)
 {
     $fs = new Filesystem();
     $templateSource = $this->getTemplateFolder($template);
     $finder = new Finder();
     $finder->in($templateSource);
     foreach ($finder as $source) {
         $relativeName = str_replace(DIRECTORY_SEPARATOR, '/', $source->getRelativePathName());
         $dest = $this->workFolder . '/' . $this->getDestFilename($relativeName);
         if ($source->isDir()) {
             $fs->ensureFolder($dest);
         } else {
             $this->processFile($fs, $relativeName, $source, $dest, $output);
         }
     }
 }