示例#1
0
 /**
  * Try to cache the callback result on disk
  * @param type $cacheFile
  * @param \Blend\Component\Cache\callable $callback
  * @return mixed
  */
 private function withFile($cacheFile, callable $callback)
 {
     if ($this->filesystem->exists($cacheFile)) {
         return unserialize(file_get_contents($cacheFile));
     } else {
         $result = call_user_func($callback);
         file_put_contents($cacheFile, serialize($result));
         return $result;
     }
 }
示例#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;
 }