PHPでライブラリまたは関数が使用可能かどうかをチェックする方法
6397 ワード
バージョンが高くなるにつれて、PHPの機能もますます完備し、利用可能な拡張ライブラリと関数もますます多くなるので、プログラムを書くときもバージョンの互換性の問題を考慮し、サーバ(特に仮想ホスト)に拡張ライブラリがインストールされているかどうかも考慮しなければなりません.
本論文で紹介する関数はPHPマニュアルにもともとあるものであるが,これらの関数は独立性が強く,検索が容易ではないため,単独で紹介すると便利である.
1.使用可能なすべてのモジュールを取得する-get_loaded_extensions
この関数は、ロードされた(使用可能な)すべてのモジュールを返します.
使用方法:
PHP:
2.指定したモジュールの使用可能な関数を取得する-get_extension_funcs
この関数は、指定したモジュールで使用可能なすべての関数を返します.
入力パラメータ(モジュール名)は小文字でなければなりません
使用方法:
PHP:
3.定義済みのすべての関数を取得-get_defined_functions
この関数は、組み込み関数やユーザー定義関数など、定義済みのすべての関数を返します.
使用方法:
PHP:
出力:
Code:
Array
(
[internal] => Array
(
[0] => zend_version
[1] => func_num_args
[2] => func_get_arg
[3] => func_get_args
[4] => strlen
[5] => strcmp
[6] => strncmp
...
[750] => bcscale
[751] => bccomp
)
[user] => Array
(
[0] => myrow
)
)
内
$arr["internal"]は内蔵関数で、
$arr[「user」]は、ユーザー定義関数です.
4.指定した関数が存在するかどうかをチェック-function_exists
この関数は、指定した関数が定義されているかどうかを返します.
使用方法:
PHP:
本論文で紹介する関数はPHPマニュアルにもともとあるものであるが,これらの関数は独立性が強く,検索が容易ではないため,単独で紹介すると便利である.
1.使用可能なすべてのモジュールを取得する-get_loaded_extensions
この関数は、ロードされた(使用可能な)すべてのモジュールを返します.
使用方法:
PHP:
-
-
<?php
-
print_r
(
get_loaded_extensions
(
)
);
-
?>
-
2.指定したモジュールの使用可能な関数を取得する-get_extension_funcs
この関数は、指定したモジュールで使用可能なすべての関数を返します.
入力パラメータ(モジュール名)は小文字でなければなりません
使用方法:
PHP:
-
-
<?php
-
print_r
(
get_extension_funcs
(
"gd"
)
);
-
?>
-
3.定義済みのすべての関数を取得-get_defined_functions
この関数は、組み込み関数やユーザー定義関数など、定義済みのすべての関数を返します.
使用方法:
PHP:
-
-
<?php
-
function myrow
(
$id,
$data
)
-
{
-
return
"<tr><th>$id</th><td>$data</td></tr>/n";
-
}
-
-
$arr =
get_defined_functions
(
);
-
-
print_r
(
$arr
);
-
?>
-
出力:
Code:
Array
(
[internal] => Array
(
[0] => zend_version
[1] => func_num_args
[2] => func_get_arg
[3] => func_get_args
[4] => strlen
[5] => strcmp
[6] => strncmp
...
[750] => bcscale
[751] => bccomp
)
[user] => Array
(
[0] => myrow
)
)
内
$arr["internal"]は内蔵関数で、
$arr[「user」]は、ユーザー定義関数です.
4.指定した関数が存在するかどうかをチェック-function_exists
この関数は、指定した関数が定義されているかどうかを返します.
使用方法:
PHP:
-
-
<?php
-
if
(
function_exists
(
'imap_open'
)
)
{
-
echo
"IMAP functions are available.<br />/n";
-
}
else
{
-
echo
"IMAP functions are not available.<br />/n";
-
}
-
?>
-