关于wordpress中的register_shutdown_function和destruct函数

时间:2013-02-18 03:57:43

标签: php wordpress

我有2个关于wordpress(wp-includes/wp-db.php)代码的问题:

  1. 为什么destruct函数返回true?这是什么意思?!

    function __construct( $dbuser, $dbpassword, $dbname, $dbhost ) {
        register_shutdown_function( array( &$this, '__destruct' ) );
        ....
    }
    function __destruct() {
        return true;
    }
    
  2. 为什么register_shutdown_function输入参数是数组?可以register_shutdown_function接受数组作为输入吗?!

1 个答案:

答案 0 :(得分:1)

  1. 在发布的代码__destruct()中没有做任何事情。它只是回来了。
  2. array( $this, 'method-name' )是传递回调函数的方法,如果该回调是一个类方法,并且在传递回调时处于对象上下文中。
  3. 例如:

    class DummyObject() {
      class __construct() {
        function_that_takes_callback( array($this,'callback_function') );
      }
    
      function callback_function() {
        // do stuff
      }
    }
    

    在一个想要的课程之外:

    function_that_takes_callback( 'callback_function');
    function callback_function() {
      // do stuff
    }