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