Global options
-
File extensions was restricted by default in both versions to
php
,inc
andhtml
.
In CompatInfo 3.2, the Finder recursively traverse directories,
while it’s not true in version 2.26
XML configuration 2.26
<?xml version="1.0" encoding="utf-8" ?>
<phpcompatinfo
recursive="false"
fileExtensions="php, inc, phtml"
>
<!-- ... -->
</phpcompatinfo>
JSON configuration 3.2
{
"source-providers": [
{
"in": ". as current",
"name": "/\\.(php|inc|phtml)$/"
}
],
}
-
Progress bar
XML configuration 2.26
<?xml version="1.0" encoding="utf-8" ?>
<phpcompatinfo
consoleProgress="true"
verbose="false"
>
<!-- ... -->
</phpcompatinfo>
Use the first verbose level (-v
) with phpcompatinfo
while running the analyser:run
command.
-
Caching results
XML configuration 2.26
<?xml version="1.0" encoding="utf-8" ?>
<phpcompatinfo
cacheDriver="file"
>
<!-- ... -->
</phpcompatinfo>
Version 3.2 is able to cache parsing results only with other SAPI than CLI.
See the Developer Guide.
Cache options
XML configuration 2.26
<?xml version="1.0" encoding="utf-8" ?>
<phpcompatinfo>
<cache id="file">
<options>
<gc_probability>1</gc_probability>
<gc_maxlifetime>86400</gc_maxlifetime>
</options>
</cache>
</phpcompatinfo>
Version 3.2 does not provide yet ability to cache parsing results in CLI mode.
References options
XML configuration 2.26
<?xml version="1.0" encoding="utf-8" ?>
<phpcompatinfo>
<references>
<reference name="Core" />
<reference name="standard" />
</references>
</phpcompatinfo>
Version 3.2 does not provide ability to load reference depending of rules in the configuration file.
All references are either pre-loaded (Prefetch Strategy) or loaded only when detected (AutoDiscover Strategy).
See References details.
PHP settings
XML configuration 2.26
<?xml version="1.0" encoding="utf-8" ?>
<phpcompatinfo>
<php>
<ini name="memory_limit" value="140M" />
<ini name="short_open_tag" />
<ini name="zend.ze1_compatibility_mode" value="false" />
</php>
</phpcompatinfo>
Version 3.2 does not provide ability to change PHP settings at run-time.
Excluding Files or Elements from parsing
XML configuration 2.26
<?xml version="1.0" encoding="utf-8" ?>
<phpcompatinfo>
<excludes>
<exclude id="demo">
<directory name=".*\/Zend\/.*" />
<file name=".*\.php5" />
<extension name="xdebug" />
<interface name="SplSubject" />
<trait name="^S" />
<class name=".*Compat.*" />
<function name="ereg.*" />
<function name="debug_print_backtrace" />
<constant name="T_USE" />
</exclude>
</excludes>
</phpcompatinfo>
Version 3.2 does not provide ability to exclude elements (class, trait, …),
but you can exclude files or directories with the Finder. See
source-providers
in the JSON
configuration file.Listeners
XML configuration 2.26
<?xml version="1.0" encoding="utf-8" ?>
<phpcompatinfo>
<listeners>
<listener class="className" file="/path/to/filename">
<arguments>
</arguments>
</listener>
</listeners>
</phpcompatinfo>
Version 3.2 provide this feature with the Symfony EventDispatcher component.
See plugins section in the Developer Guide for details about Event-Driven Architecture.
Plugins options
XML configuration 2.26
<?xml version="1.0" encoding="utf-8" ?>
<phpcompatinfo>
<plugins>
<reference name="MyReference"
class="PEAR_CompatInfo"
file="/path/to/PEARCompatInfo.php">
<arguments>
</arguments>
</reference>
</plugins>
</phpcompatinfo>
Version 3.2 does not provide ability to select a custom References list.
All references are either pre-loaded (Prefetch Strategy) or loaded only when detected (AutoDiscover Strategy).
See References details.