2012-12-04 10 views
5

私はこの方法は、この方法では、これは理解して、このエラーをキャッチするために、私はこのregister_shutdown_function専用の呼び出し可能メソッドに引数を渡すにはどうすればよいですか?

class a { 


    function shutDownFunction() { 
     $error = error_get_last(); 
     if ($error['type'] == 1) { 
      echo "this is fatal error"; 
     } 
    } 


    function terribleFunction() { 
     register_shutdown_function(array($this,'shutdownFunction')); 


     // here is code, wich may causes fatal error 

    } 


} 

オーケー行い、致命的なエラーが起こったこともありますが、私はterribleFunctionからshutDownFunctionに引数を渡す必要があります。これを作る方法?

+0

を使用すると、[call_user_func_array]を探しているMaby(http://php.net/manual/en/function.call-user-func-array.php) –

+0

また、致命的なエラーをキャッチすることはできません。彼らは理由のために致命的です。 –

答えて

10

まず、shutDownFunctionにパラメータを受け入れるように指定する必要があります。

function shutDownFunction($var)

次に、あなたはほど

register_shutdown_function(array($this, 'shutdownFunction'), $myVar);

ドキュメントがhereであるとコメントの例があるregister_shutdown_functionを呼び出すことができます。

0

register_shutdown_functionは1つだけ使用し、そのメソッド内のエラーをキャッチするメソッド内では使用しないでください。試しに使っキャッチエラー、キャッチするために、最終的には

参照ブロック: http://php.net/manual/en/language.exceptions.php

0

をあなたはregister_shutdown_functionマニュアルを確認することができます。 2番目のオプションの引数parameterがあり、shutDownFunction()に渡されます。この機能を使用するには、次のように定義することができます。

function shutDownFunction($args) { 
    //do whatever you want with $args 
} 
関連する問題