一个来自wordpress的函数,我不喜欢它;Don’我跟不好


a function from wordpress which i don't follow well

function add_custom_background( $header_callback = '', $admin_header_callback = '', $admin_image_div_callback = '' ) {
    if ( isset( $GLOBALS['custom_background'] ) )
        return;
    if ( empty( $header_callback ) )
        $header_callback = '_custom_background_cb';
    add_action( 'wp_head', $header_callback );
    add_theme_support( 'custom-background', array( 'callback' => $header_callback ) );
    if ( ! is_admin() )
        return;
    require_once( ABSPATH . 'wp-admin/custom-background.php' );
    $GLOBALS['custom_background'] =& new Custom_Background( $admin_header_callback, $admin_image_div_callback );
    add_action( 'admin_menu', array( &$GLOBALS['custom_background'], 'init' ) );
}

1,$GLOBALS['custom_background'] =& new Custom_Background( $admin_header_callback, $admin_image_div_callback );符号&和线条的含义是什么?

这意味着您正在为全局数组中的变量分配引用。

$GLOBALS['custom_background'] =& new Custom_Background( $admin_header_callback, $admin_image_div_callback );

从本质上讲,如果更改$GLOBALS['custom_background']的值,这将影响原始变量本身(Custom_Background(。

http://www.php.net/manual/en/language.references.php

请记住,默认情况下,对象是通过引用传递的。

它没有特殊的含义,它用于全局引用。

http://php.net/manual/en/language.variables.scope.php

http://koivi.com/manual-php-globals/