PHP_CompatInfo : The Definitive Guide |
PHP_CompatInfo::parseDir — Parse
a directory
require_once 'PHP/CompatInfo.php';
array PHP_CompatInfo::parseDir(
|
$dir, | |
$options = array());
|
| string | $dir; |
| array | $options = array(); |
$dir
Path of folder to parse
$options
An array of options where:
file_ext Contains an array of file extensions to parse for PHP code. Default: php, php4, inc, phtml
recurse_dir Boolean on whether to recursively find files
debug Contains a boolean to control whether extra ouput is shown.
ignore_functions Contains an array of functions to ignore when calculating the version needed.
ignore_constants Contains an array of constants to ignore when calculating the version needed.
ignore_files Contains an array of files to ignore. File names are case insensitive.
ignore_dirs Contains an array of directories to ignore. Directory names are case insensitive.
ignore_extensions Contains an array of php extensions to ignore when calculating the version needed.
ignore_versions Contains an array of php versions to ignore when calculating the version needed.
ignore_functions_match Contains an array of function patterns to ignore when calculating the version needed.
ignore_extensions_match Contains an array of extension patterns to ignore when calculating the version needed.
ignore_constants_match Contains an array of constant patterns to ignore when calculating the version needed.
array - a hash which contains information
keys: ignored_functions, ignored_extensions, ignored_constants, max_version, version,
extensions, constants, tokens,
cond_code
Suppose we have these dirs/files to parse :
PHP_CompatInfo/tests/parseDir/ PHP5/tokens.php5 PHP5/upload_error.php extensions.php phpinfo.php
See package distribution to know in details content of this scripts.
We get such result.
array (
'ignored_files' =>
array (
),
'ignored_functions' =>
array (
),
'ignored_extensions' =>
array (
),
'ignored_constants' =>
array (
),
'max_version' => '',
'version' => '5.2.0',
'extensions' =>
array (
0 => 'xdebug',
1 => 'gd',
2 => 'sapi_apache',
3 => 'sapi_cgi',
4 => 'sqlite',
),
'constants' =>
array (
0 => 'UPLOAD_ERR_INI_SIZE',
1 => 'UPLOAD_ERR_FORM_SIZE',
2 => 'UPLOAD_ERR_PARTIAL',
3 => 'UPLOAD_ERR_NO_FILE',
4 => 'UPLOAD_ERR_NO_TMP_DIR',
5 => 'UPLOAD_ERR_CANT_WRITE',
6 => 'UPLOAD_ERR_EXTENSION',
7 => 'UPLOAD_ERR_OK',
),
'tokens' =>
array (
0 => 'abstract',
1 => 'protected',
2 => 'interface',
3 => 'public',
4 => 'implements',
5 => 'private',
6 => 'clone',
7 => 'instanceof',
8 => 'try',
9 => 'throw',
10 => 'catch',
11 => 'final',
),
'cond_code' =>
array (
0 => 2,
1 =>
array (
0 =>
array (
),
1 =>
array (
),
2 =>
array (
),
),
),
'PHP_CompatInfo/tests/parseDir/extensions.php' =>
array (
'ignored_functions' =>
array (
),
'ignored_extensions' =>
array (
),
'ignored_constants' =>
array (
),
'max_version' => '',
'version' => '4.3.2',
'extensions' =>
array (
0 => 'xdebug',
1 => 'gd',
2 => 'sapi_apache',
3 => 'sapi_cgi',
4 => 'sqlite',
),
'constants' =>
array (
),
'tokens' =>
array (
),
'cond_code' =>
array (
0 => 2,
1 =>
array (
0 =>
array (
),
1 =>
array (
),
2 =>
array (
),
),
),
),
'PHP_CompatInfo/tests/parseDir/phpinfo.php' =>
array (
'ignored_functions' =>
array (
),
'ignored_extensions' =>
array (
),
'ignored_constants' =>
array (
),
'max_version' => '',
'version' => '4.0.0',
'extensions' =>
array (
),
'constants' =>
array (
),
'tokens' =>
array (
),
'cond_code' =>
array (
0 => 0,
1 =>
array (
0 =>
array (
),
1 =>
array (
),
2 =>
array (
),
),
),
),
'PHP_CompatInfo/tests/parseDir/PHP5/tokens.php5' =>
array (
'ignored_functions' =>
array (
),
'ignored_extensions' =>
array (
),
'ignored_constants' =>
array (
),
'max_version' => '',
'version' => '5.0.0',
'extensions' =>
array (
),
'constants' =>
array (
),
'tokens' =>
array (
0 => 'abstract',
1 => 'protected',
2 => 'interface',
3 => 'public',
4 => 'implements',
5 => 'private',
6 => 'clone',
7 => 'instanceof',
8 => 'try',
9 => 'throw',
10 => 'catch',
11 => 'final',
),
'cond_code' =>
array (
0 => 0,
1 =>
array (
0 =>
array (
),
1 =>
array (
),
2 =>
array (
),
),
),
),
'PHP_CompatInfo/tests/parseDir/PHP5/upload_error.php' =>
array (
'ignored_functions' =>
array (
),
'ignored_extensions' =>
array (
),
'ignored_constants' =>
array (
),
'max_version' => '',
'version' => '5.2.0',
'extensions' =>
array (
),
'constants' =>
array (
0 => 'UPLOAD_ERR_INI_SIZE',
1 => 'UPLOAD_ERR_FORM_SIZE',
2 => 'UPLOAD_ERR_PARTIAL',
3 => 'UPLOAD_ERR_NO_FILE',
4 => 'UPLOAD_ERR_NO_TMP_DIR',
5 => 'UPLOAD_ERR_CANT_WRITE',
6 => 'UPLOAD_ERR_EXTENSION',
7 => 'UPLOAD_ERR_OK',
),
'tokens' =>
array (
0 => 'throw',
),
'cond_code' =>
array (
0 => 0,
1 =>
array (
0 =>
array (
),
1 =>
array (
),
2 =>
array (
),
),
),
),
)
We have global result, then follow by each file parsed in sub-directories.
| PHP_CompatInfo : The Definitive Guide | v 1.8.0 : August 1, 2008 |