LazyRecord\ConfigLoader::compile PHP Method

compile() public static method

public static compile ( $sourceFile, $force = false )
    public static function compile($sourceFile, $force = false)
    {
        $compiledFile = ConfigCompiler::compiled_filename($sourceFile);
        if ($force || ConfigCompiler::test($sourceFile, $compiledFile)) {
            $config = ConfigCompiler::parse($sourceFile);
            $config = self::preprocessConfig($config);
            ConfigCompiler::write($compiledFile, $config);
            return $config;
        } else {
            return require $compiledFile;
        }
    }

Usage Example

Beispiel #1
0
 public function execute($configFile = null)
 {
     /**
      * $ lazy bulid-conf config/lazy.yml phifty/config/lazy.yml
      * 
      * build/lazy/config.php   # is generated
      */
     if (!$configFile) {
         $possiblePaths = array('db/config/site_database.yml', 'db/config/database.yml', 'config/database.yml', 'config/site_database.yml');
         foreach ($possiblePaths as $path) {
             if (file_exists($path)) {
                 $this->logger->info("Found default config file: {$path}");
                 $configFile = $path;
                 ConfigLoader::compile($configFile);
             }
         }
     }
     if (!$configFile) {
         throw new Exception("config file path is required.");
     }
     $this->logger->info("Building config from {$configFile}");
     $dir = dirname($configFile);
     ConfigLoader::compile($configFile);
     // make master config link
     $loader = ConfigLoader::getInstance();
     if (file_exists($loader->symbolFilename)) {
         $this->logger->info('Cleaning up symbol link');
         unlink($loader->symbolFilename);
     }
     if (file_exists('.lazy.php')) {
         $this->logger->info('Cleaning up symbol link');
         unlink('.lazy.php');
     }
     $this->logger->info("Making link => " . $loader->symbolFilename);
     if (cross_symlink($configFile, $loader->symbolFilename) === false) {
         $this->logger->error("Config linking failed.");
     }
     $this->logger->info("Done.");
 }
All Usage Examples Of LazyRecord\ConfigLoader::compile