<?php namespace 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; } } ?>
|