2009-09-17 7 views

Odpowiedz

19

Z dokumentacji doco PHP można określić funkcję, która jest wywoływana po exit(), ale przed zakończeniem skryptu.

Zapraszam do sprawdzenia DOCO uzyskać więcej informacji 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'); 
?> 
6

Jeśli używasz OOP, możesz umieścić kod, który chcesz wykonać po wyjściu z destruktora klasy.

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

Twój przykład jest prawdopodobnie zbyt uproszczone, ponieważ może być łatwo ponownie zapisać następująco:

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

common_code(); 
exit; 

Być może próbujesz Aby zbudować kontrolę przepływu w następujący sposób:

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

Można również użyć switch():

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

common_code(); 
exit; 

Albo w PHP 5.3 można użyć 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; 
Powiązane problemy