| 
<?phpnamespace eMacros\Package;
 
 use eMacros\Runtime\PHPFunction;
 
 class FilePackage extends Package {
 public function __construct() {
 parent::__construct('File');
 
 /**
 * File functions
 */
 $this['open'] = new PHPFunction('fopen');
 $this['close'] = new PHPFunction('fclose');
 $this['exists'] = new PHPFunction('file_exists');
 $this['get-contents'] = new PHPFunction('file_get_contents');
 $this['put-contents'] = new PHPFunction('file_put_contents');
 $this['read'] = new PHPFunction('fread');
 $this['write'] = new PHPFunction('fwrite');
 $this['file'] = new PHPFunction('file');
 $this['size'] = new PHPFunction('filesize');
 $this['basename'] = new PHPFunction('basename');
 $this['dirname'] = new PHPFunction('dirname');
 $this['parse-ini-file'] = new PHPFunction('parse_ini_file');
 $this['parse-ini-string'] = new PHPFunction('parse_ini_string');
 $this['pathinfo'] = new PHPFunction('pathinfo');
 $this['realpath'] = new PHPFunction('realpath');
 $this['stat'] = new PHPFunction('stat');
 
 /**
 * Directory functions
 */
 $this['scandir'] = new PHPFunction('scandir');
 
 /**
 * Macros
 */
 $this->macro('/^is-(dir|executable|file|link|readable|uploaded-file|writable|writeable)$/', function ($matches) {
 return new PHPFunction('is_' . str_replace('-', '_', $matches[1]));
 });
 
 /**
 * Constants
 */
 $this['FILE_USE_INCLUDE_PATH']   = FILE_USE_INCLUDE_PATH;
 $this['FILE_IGNORE_NEW_LINES']   = FILE_IGNORE_NEW_LINES;
 $this['FILE_SKIP_EMPTY_LINES']   = FILE_SKIP_EMPTY_LINES;
 $this['INI_SCANNER_NORMAL']      = INI_SCANNER_NORMAL;
 $this['INI_SCANNER_RAW']         = INI_SCANNER_RAW;
 $this['PATHINFO_DIRNAME']        = PATHINFO_DIRNAME;
 $this['PATHINFO_BASENAME']       = PATHINFO_BASENAME;
 $this['PATHINFO_EXTENSION']      = PATHINFO_EXTENSION;
 $this['PATHINFO_FILENAME']       = PATHINFO_FILENAME;
 $this['SCANDIR_SORT_ASCENDING']  = SCANDIR_SORT_ASCENDING;
 $this['SCANDIR_SORT_DESCENDING'] = SCANDIR_SORT_DESCENDING;
 $this['SCANDIR_SORT_NONE']       = SCANDIR_SORT_NONE;
 }
 }
 ?>
 |