Bir PHP komut dosyası çıkmadan önce ortak kod yürütmesine () miyim?

3 Cevap php

Aşağıdaki gibi bir şey bir PHP komut dosyası nasıl yapılabilir?

 code{
      $result1 = task1() or break;
      $result2 = task2() or break;
 }

 common_code();
 exit();

3 Cevap

Komut bitmeden PHP yardım Doco çıkmadan sonra olarak adlandırılan bir fonksiyonu belirtmek () ama olabilir.

Daha fazla bilgi için doco kontrol etmek için çekinmeyin http://us3.php.net/manual/en/function.register-shutdown-function.php

<?php
function shutdown()
{
    // This is our shutdown function, in 
    // here we can do any last operations
    // before the script is complete.

    echo 'Script executed with success', PHP_EOL;
}

register_shutdown_function('shutdown');
?>

Eğer OOP kullanırsanız o zaman size sınıfının yıkıcı içine çıkmak üzerinde çalıştırmak istediğiniz kodu koyabilirsiniz.

class example{
   function __destruct(){
      echo "Exiting";
   }
}

Sizin örnek aşağıdaki gibi kolayca yeniden yazılabilir gibi, muhtemelen çok basittir:

if($result1 = task1()) {
    $result2 = task2();
}

common_code();
exit;

Belki de bu gibi akış denetimi oluşturmak için çalışıyoruz:

do {
    $result1 = task1() or break;
    $result2 = task2() or break;
    $result3 = task3() or break;
    $result4 = task4() or break;
    // etc
} while(false);
common_code();
exit;

Ayrıca kullanabileceğiniz bir switch():

switch(false) {
case $result1 = task1(): break;
case $result2 = task2(): break;
case $result3 = task3(): break;
case $result4 = task4(): break;
}

common_code();
exit;

Veya PHP 5.3 kullanabilirsiniz goto:

if(!$result1 = task1()) goto common;
if(!$result2 = task2()) goto common;
if(!$result3 = task3()) goto common;
if(!$result4 = task4()) goto common;

common:
echo "common code\n";
exit;