Home > Backend Development > PHP Tutorial > register_shutdown_function function detailed explanation

register_shutdown_function function detailed explanation

步履不停
Release: 2023-04-06 20:32:01
Original
3324 people have browsed it

register_shutdown_function function detailed explanation

During php development, testing and online, you can set the error and exception handling needs according to different situations.

Setting three functions for error and exception handling

register_shutdown_function(array(‘Debug’,'fatalError’)); //定义PHP程序执行完成后执行的函数
set_error_handler(array(‘Debug’,'appError’)); // 设置一个用户定义的错误处理函数
set_exception_handler(array(‘Debug’,'appException’)); //自定义异常处理。
Copy after login

Let’s talk about the register_shutdown_function() function.

Function The :register_shutdown_function() function can implement a function that is executed after the program execution is completed. Its function is to implement subsequent operations after the program execution is completed. There may be an execution timeout or forced shutdown when the program is running, but the default prompt in this case is very unfriendly. If you use the register_shutdown_function() function to catch exceptions, you can provide a more friendly error display method. At the same time, Follow-up operations of some functions can be implemented, such as temporary data cleaning after completion of execution, including temporary files, etc.

You can understand the calling conditions like this:

1. When the page is forced to stop by the user

2. When the program code runs out of time

3. When the PHP code execution is completed, there are exceptions, errors, and warnings in the code execution

Example description

1. A brief example, calling a function

<?php
    function test() {
        echo "test()";
    }
    register_shutdown_function(array("test"));
    echo "show: ";
 ?>
Copy after login

This example output

show: test()
Copy after login

The function of this function is to call the registered function and execute the function before exiting the script.

2. Use an array as a parameter in the class

<?php
class ClassDemo {
    public function __construct() {
        register_shutdown_function(array($this, "f"));
    }
 
    public function f() {
        echo "f()";
    }
}
 
$demo = new ClassDemo();
echo "before </br>";
?>
Copy after login

Output:

before
f()
Copy after login

3. Example with parameters:

<?php
function f($str) {
        echo $str."<br>";
}
  
register_shutdown_function("f","hello");
 
class ClassDemo {
    public function __construct() {
        register_shutdown_function(array($this, "f"),"hello");
    }
 
    public function f($str) {
        echo "f():".$str;
    }
}
 
$demo = new ClassDemo();
echo "before </br>";  
?>
Copy after login

Notes

1, register_shutdown_function() function can be called repeatedly , but the order of execution is the same as the order of registration
2 , if there is an exit() function call before calling the register_shutdown_function() function, the register_shutdown_function() function will not be executed
3, after PHP4 supports registration function parameter passing PHP video tutorial
4, on some servers, such as Apache, The current directory can be changed in the register_shutdown_function() function
5, register_shutdown_function ()The function is executed after the headers are sent

The above is the detailed content of register_shutdown_function function detailed explanation. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template