zoukankan      html  css  js  c++  java
  • Untitled

    Untitled

    (PHP 4, PHP 5, PHP 7)
    register_shutdown_function — Register a function for execution on shutdown
    执行PHP文件的时候,php会拉起一个进程或者线程。当这个进程或者线程执行完毕、或者异常中断,或使用exit()、die() 函数中断的时候,就调用register_shutdown_function 中定义的函数。我认为这个功能更类似于钩子,这个函数建立在PHP的线程或者进程的监控之上。

    可以通过下面的例子清晰的看到该函数的作用:

    <?php
    header("content-type:text/html;chaset=utf-8");

    register_shutdown_function('user_shutdown');
    register_shutdown_function('user_shutdown_2');

    function user_shutdown()
    {
    echo "<font color='red'>hello world</font>";
    echo "<br/>";
    }

    function user_shutdown_2()
    {
    echo "<font color='orange'>Are You OK</font>";
    echo "<br/>";
    }

    echo 11111;
    echo '<br/>';
    echo 22222;
    echo '<br/>';

    class Demo
    {
    public function __construct()
    {
    register_shutdown_function(array($this, 'user_shutdown_3'));
    }

    public function getName()
    {
    echo "Hello China<br/>";
    }

    public function user_shutdown_3()
    {
    echo "I'm class shutdown method<br/>";
    }


    }

    $DemoClass = new Demo();
    $DemoClass->getName();

    执行该文件,最后的结果如下:

    11111
    22222
    Hello China
    hello world
    Are You OK
    I'm class shutdown method

    由此我们可以得出,在一个进程或者线程之上可以注册多个register_shutdown_function 函数。并且可以在类中注册该函数。类中该函数必须对外部暴露,必须使用public关键字修饰。

  • 相关阅读:
    mysql 允许远程登陆
    jade报错:unexpected token
    quartz定时任务
    Java调用脚本
    CentOS安装、卸载jdk
    CentOS系统没有javac命令
    IDEA Error:java: 未结束的字符串文字
    面试连环炮系列(三):synchronized怎么用的
    面试连环炮系列(二):你们的项目Redis做了集群部署吗
    面试连环炮系列(一):如何保证Redis高可用和高并发
  • 原文地址:https://www.cnblogs.com/roverliang/p/6105467.html
Copyright © 2011-2022 走看看