You can download and use it for free. But don't delete the copyright notice. You can read terms of the PHP license.
YES if there is no answer in this Guide and if you are ready to share some informations such as : your configuration (platform Win *nix mac, PHP version, PEAR packages installed) and perharps your script.
You can report it with the bug tracker at PEAR.
Report it with the bug tracker at PEAR. If error is confirmed, a new PHP_CompatInfo release will follow.
PEAR (an acronym for PHP Extension and Application Repository) is a framework and distribution system for reusable PHP components.
Don't forget to read also the PEAR Manual and PEAR FAQ.
If you want to ignore all PHP5 code (functions, constants, extensions), you only need to add a line on your parsing (file, directory, string) options: "ignore_versions". In this example all PHP 5.0.0 to 5.2.0 code will be ignored when parsing current directory.
<?php
require_once 'PHP/CompatInfo.php';
$dir = dirname(__FILE__);
$options = array('ignore_versions' => array('5.0.0', '5.2.0'));
$pci = new PHP_CompatInfo();
$res = $pci->parseDir($dir, $options);
var_dump($res);
?>
Even if it's the new behavior of API 1.8.0, you can still consumes all output events with the Null renderer. Give the null value (case insensitive), as first parameter to the class constructor.
<?php
require_once 'PHP/CompatInfo.php';
$pci = new PHP_CompatInfo('null');
$res = $pci->parseData($datasource);
// display results is only produced by the line below
var_dump($res);
?>
For a single file, it's not necessary to have a progress bar or a message wait. But when you parse a directory with many subdirectories and files, it may take some time.
Depending of interface you're running (CLI or Web) you've two ways to display a progress bar or a message wait.
If you specify a progress bar to wait and you don't have PEAR::Console_ProgressBar package installed, default use standard text messages (no error stop the process).
Wait while parsing data source ... Wait while parsing file "C:\wamp\tmp\Services_W3C_CSSValidator-0.1.0\CSSValidator.php"
On CLI with pci command,
give the -p|--progress switch with either
bar
(for a progress bar), or text
(for a simple text message).
pci --summarize --progress bar --dir C:\Temp\beehiveforum082\forum
On CLI without pci command,
use the second parameter (driver specific options) of class constructor.
Give progress key with
bar
(for a progress bar), or
text
(for a simple text message).
And don't forget to de-activate silent mode (default is on for behavior
backward compatibility).
<?php
require_once 'PHP/CompatInfo.php';
$driverType = 'csv';
$driverOptions = array('silent' => false, 'progress' => 'bar');
$pci = new PHP_CompatInfo($driverType, $driverOptions);
?>
It will produce something like:
- 79/419 files [====>-----------------] 18.85% Elapsed Time: 00:28.93
For Web SAPI see the full example available
in distribution into examples directory named
pci180_parsefolder_tohtml.php
. It used the
PEAR::HTML_Progress2 package to produce a progress bar with COMET method
(not AJAX).