PHPでライブラリまたは関数が使用可能かどうかをチェックする方法

6397 ワード

バージョンが高くなるにつれて、PHPの機能もますます完備し、利用可能な拡張ライブラリと関数もますます多くなるので、プログラムを書くときもバージョンの互換性の問題を考慮し、サーバ(特に仮想ホスト)に拡張ライブラリがインストールされているかどうかも考慮しなければなりません.
本論文で紹介する関数はPHPマニュアルにもともとあるものであるが,これらの関数は独立性が強く,検索が容易ではないため,単独で紹介すると便利である.
1.使用可能なすべてのモジュールを取得する-get_loaded_extensions
この関数は、ロードされた(使用可能な)すべてのモジュールを返します.
使用方法:
PHP:

   
   
   
   
  1.  
  2. <?php
  3. print_r ( get_loaded_extensions ( ) );
  4. ?>
  5.  

2.指定したモジュールの使用可能な関数を取得する-get_extension_funcs
この関数は、指定したモジュールで使用可能なすべての関数を返します.
入力パラメータ(モジュール名)は小文字でなければなりません
使用方法:
PHP:

   
   
   
   
  1.  
  2. <?php
  3. print_r ( get_extension_funcs ( "gd" ) );
  4. ?>
  5.  

3.定義済みのすべての関数を取得-get_defined_functions
この関数は、組み込み関数やユーザー定義関数など、定義済みのすべての関数を返します.
使用方法:
PHP:

   
   
   
   
  1.  
  2. <?php
  3. function myrow ( $id, $data )
  4. {
  5. return "<tr><th>$id</th><td>$data</td></tr>/n";
  6. }
  7.  
  8. $arr = get_defined_functions ( );
  9.  
  10. print_r ( $arr );
  11. ?>
  12.  

出力:
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:

   
   
   
   
  1.  
  2. <?php
  3. if ( function_exists ( 'imap_open' ) ) {
  4. echo "IMAP functions are available.<br />/n";
  5. } else {
  6. echo "IMAP functions are not available.<br />/n";
  7. }
  8. ?>
  9.