2012-12-04 15 views
5

Ben yöntem, bu yöntemde Bunu anlamak bu hatayı yakalamak için buÖzellikle register_shutdown_function için argümanları callable yöntemine nasıl aktarılır?

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 

    } 


} 

Tamam yapmak, önemli bir hatayla oldu edilebilir var ama terribleFunction den shutDownFunction için argüman geçmesi gerekir. Bunu nasıl yapılır?

+0

Maby sen de [call_user_func_array] (http://php.net/manual/en/function.call-user-func-array.php) –

+0

arıyoruz ölümcül hataları yakalayamazsınız. Bir sebepten ölümcül. –

cevap

10

Önce shutDownFunction bir parametre kabul gerektiğini belirtmek gerekir.

function shutDownFunction($var)

Sonra register_shutdown_function çağırabilir şekilde

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

Belgeler here ve yorumlardaki örnekler vardır.

0

Sen register_shutdown_function belgelerine kontrol edebilirsiniz: hata yakalama kullanım deneyin, catch için nihayet

See bloke ederler. shutDownFunction() numaranıza iletilen ikinci bir isteğe bağlı bağımsız değişken parameter var. Böyle tanımlayabilirsiniz Bu fonksiyon:

function shutDownFunction($args) { 
    //do whatever you want with $args 
} 
İlgili konular