PHP_CompatInfo::parseString()

PHP_CompatInfo::parseString() -- 文字列をパースする

概要

require_once 'PHP/CompatInfo.php';

Array PHP_CompatInfo::parseString (string $string [, array $options = array()])

説明

文字列をパースして互換性情報を取得します。

パラメータ

string $string

パースする PHP コード。

array $options

以下のオプションを指定する配列。

  • debug には、追加の出力を行うかどうかを boolean 値で指定します。

  • ignore_functions には、バージョンを算出する際に無視させたい関数の配列を指定します。

  • ignore_constants には、バージョンを算出する際に無視させたい定数の配列を指定します。

  • ignore_extensions には、バージョンを算出する際に無視させたい PHP 拡張モジュールの配列を指定します。

  • ignore_versions には、バージョンを算出する際に無視させたい PHP のバージョンの配列を指定します。

  • ignore_functions_match には、バージョンを算出する際に無視させたい関数名のパターンの配列を指定します。

  • ignore_extensions_match には、バージョンを算出する際に無視させたい拡張モジュール名のパターンの配列を指定します。

  • ignore_constants_match には、バージョンを算出する際に無視させたい定数名のパターンの配列を指定します。

例外・エラー

例外はスローされません。

参照

PHP_CompatInfo::parseData() も参照ください。

利用可能なバージョン

バージョン 0.7.0 (2004-03-09) 以降

注意

この関数は、スタティックにコールする ことはできません。

返り値

array - 以下のキーを含むハッシュを返します。 ignored_functions, ignored_extensions, ignored_constants, max_version, version, extensions, constants, tokens, cond_code

<?php
require_once 'PHP/CompatInfo.php';

$pci = new PHP_CompatInfo();

$input = '<?php
$nl = "\n";
echo "$nl Rfc3339 = " . DATE_RFC3339;
echo "$nl RSS     = " . DATE_RSS;
?>';

$res = $pci->parseString($input);

var_export($res);
?>

結果はこのようになります。
array (
  'ignored_functions' =>
  array (
  ),
  'ignored_extensions' =>
  array (
  ),
  'ignored_constants' =>
  array (
  ),
  'max_version' => '',
  'version' => '5.1.3',
  'extensions' =>
  array (
  ),
  'constants' =>
  array (
    0 => 'DATE_RFC3339',
    1 => 'DATE_RSS',
  ),
  'tokens' =>
  array (
  ),
  'cond_code' =>
  array (
    0 => 0,
    1 =>
    array (
      0 =>
      array (
      ),
      1 =>
      array (
      ),
      2 =>
      array (
      ),
    ),
  ),
)
これは、このコードを実行するには少なくとも PHP 5.1.3 以降が必要であることを意味します。 なぜなら、定数 DATE_RFC3339 を使用しているからです。