Example #1
0
 public static function compile($__source__, $__target__)
 {
     $R = new self();
     require $__source__;
     $compilation = $R->perform_compile();
     $fp = fopen(__FILE__, 'r');
     fseek($fp, __COMPILER_HALT_OFFSET__);
     $compiled_source = '';
     $in = false;
     while (!feof($fp)) {
         $line = fgets($fp, 8192);
         if (preg_match('|// START-ROUTES|', $line)) {
             $compiled_source .= $compilation->export();
             $in = true;
         } elseif (preg_match('|// END-ROUTES|', $line)) {
             $in = false;
         } elseif (!$in) {
             $compiled_source .= $line;
         }
     }
     fclose($fp);
     mkdir_p(dirname($__target__));
     file_put_contents($__target__, ltrim($compiled_source));
 }