Default options
What either you use the CLI version with the phpcompatinfo command, or directly API functions, PHP_CompatInfo has some default options you should learn if you want to understand results provided.
Default options printed below, may be changed either :
-
by the
$options
parameter ofPHP_CompatInfo
class constructor, if you use the API functions -
by the XML configuration file
phpcompatinfo.xml
orphpcompatinfo.xml.dist
, if you use the CLI tool
Option | Default | Description |
---|---|---|
|
false |
scan recursive subdirectories or just local files |
|
ALL |
data dictionary reference (all PHP4 and PHP5 informations) |
|
[PHP5[…], ALL[…]] |
adapters to connect to data dictionaries reference |
|
false |
output more information |
|
[php, inc, phtml] |
list of file extensions to scan |
|
php_4.0.0 |
filter results on a specific PHP or extension version |
|
ge |
operator to test versions for a particular relationship (same as PHP version_compare) |
|
file |
cache results to improve speed of next iteration |
|
[] |
options specific to cache driver used |
|
[] |
none |
Scanning files and folders
The simplest way of using PHP_CompatInfo is to provide the location of a file or folder for PHP_CompatInfo to scan. If a folder is provided, PHP_CompatInfo will scan all files it finds in that local folder.
![]() |
If you want sub-folders scanned, use the recursive option. |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php
require_once 'Bartlett/PHP/CompatInfo/Autoload.php';
$source = '/path/to/myFolder';
$options = array(
'cacheDriver' => 'null',
'recursive' => true
);
try {
$phpci = new PHP_CompatInfo($options);
$phpci->parse($source);
$allResultsAtOnce = $phpci->toArray();
} catch (PHP_CompatInfo_Exception $e) {
die ('PHP_CompatInfo Exception : ' . $e->getMessage() . PHP_EOL);
}
|
Specifying a Reference
PHP_CompatInfo can have multiple references installed to allow a single installation
to be used with multiple plateform. When scanning PHP code, PHP_CompatInfo can be told
which reference to use. This is done using the reference
option.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php
require_once 'Bartlett/PHP/CompatInfo/Autoload.php';
$source = '/path/to/myFolder';
$options = array(
'reference' => 'ALL',
);
try {
$phpci = new PHP_CompatInfo($options);
$phpci->parse($source);
$allResultsAtOnce = $phpci->toArray();
} catch (PHP_CompatInfo_Exception $e) {
die ('PHP_CompatInfo Exception : ' . $e->getMessage() . PHP_EOL);
}
|
![]() |
If you want to use your own reference, you should have (of course) to write it, but you must also tell where it is. |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <?php
require_once 'Bartlett/PHP/CompatInfo/Autoload.php';
$source = '/path/to/myFolder';
$options = array(
'reference' => 'PHP5',
'referencePlugins' => array(
'PHP5' => array(
'class' => 'myRefClass',
'file' => '/path/to/file/hosting/myRefClass.php',
'args' => array()
),
);
try {
$phpci = new PHP_CompatInfo($options);
$phpci->parse($source);
$allResultsAtOnce = $phpci->toArray();
} catch (PHP_CompatInfo_Exception $e) {
die ('PHP_CompatInfo Exception : ' . $e->getMessage() . PHP_EOL);
}
|
References are :
-
PHP5
to scan PHP4/PHP5 source code, with extensions specified or loaded on your system -
ALL
to scan PHP4/PHP5 source code, with extensions specified or all present in current distribution