mixed
PHP_CompatInfo::getIgnoredFunctions
(
mixed $file
= false
)
Returns the latest parse data source ignored functions list
$file
(optional) A specific filename or not (FALSE)
returns Null on error or if there were no previous data parsing
throws no exceptions thrown
since version 1.9.0b2 (2008-12-19)
This function can not be called statically.
Suppose we have to parse source code like this file, named "conditional.php" :
<?php
// PHP 4.0.0 : __FILE__
// PHP 4.0.6 : DIRECTORY_SEPARATOR
// PHP 4.0.7 : version compare
// PHP 4.3.0 : ob_get_clean
// PHP 4.3.0 : debug_backtrace
// PHP 4.3.10 and 5.0.2 : PHP_EOL
// PHP 5.0.0 : simplexml_load_file
// PHP 5.1.1 : DATE_W3C
if (!defined('DIRECTORY_SEPARATOR')) {
define('DIRECTORY_SEPARATOR',
strtoupper(substr(PHP_OS, 0, 3) == 'WIN') ? '\\' : '/'
);
}
if (function_exists('debug_backtrace')) {
$backtrace = debug_backtrace();
} else {
$backtrace = false;
}
if (function_exists('simplexml_load_file')) {
$xml = simplexml_load_file('C:\php\pear\PHP_CompatInfo\scripts\version.xml');
}
if (version_compare(phpversion(), '5.0.0', '<')) {
include_once 'PHP/Compat.php';
PHP_Compat::loadFunction('ob_get_clean');
PHP_Compat::loadConstant('PHP_EOL');
}
echo "Hello World" . PHP_EOL;
$ds = DIRECTORY_SEPARATOR;
$fn = dirname(__FILE__) . $ds . basename(__FILE__);
echo "You have run file : $fn at " . date(DATE_W3C) . PHP_EOL;
?>
And this other one, named "ignore_functions_match.php"
<?php
function toFile($filename, $data)
{
if (function_exists('file_put_contents')) {
file_put_contents($filename, $data);
} else {
$file = fopen($filename, 'wb');
fwrite($file, $data);
fclose($file);
}
}
if (function_exists('debug_backtrace')) {
$backtrace = debug_backtrace();
} else {
$backtrace = false;
}
debug_print_backtrace();
?>
Script to parse data source, will look like to:
<?php
require_once 'PHP/CompatInfo.php';
$pci = new PHP_CompatInfo('null');
$dir = dirname(__FILE__) . DIRECTORY_SEPARATOR;
$input = array($dir . 'conditional.php', $dir . 'ignore_functions_match.php');
$options = array('ignore_functions_match' => array('preg_match', array('/^debug/')),
'ignore_constants' => array('DIRECTORY_SEPARATOR')
);
$pci->parseData($input, $options);
$functions = $pci->getIgnoredFunctions();
echo 'ALL Ignored Functions = '. implode(',', $functions) . PHP_EOL;
$functions = $pci->getIgnoredFunctions($input[0]);
echo basename($input[0]) . ' ignored functions = '. implode(',', $functions) . PHP_EOL;
$extensions = $pci->getIgnoredExtensions();
echo 'ALL Ignored Extensions = '. implode(',', $extensions) . PHP_EOL;
$constants = $pci->getIgnoredConstants();
echo 'ALL Ignored Constants = '. implode(',', $constants) . PHP_EOL;
?>
We have just used the NULL renderer because we want to organize output results, as below:
ALL Ignored Functions = debug_backtrace,debug_print_backtrace conditional.php ignored functions = debug_backtrace ALL Ignored Extensions = ALL Ignored Constants = DIRECTORY_SEPARATOR