dsoxcj7276 2014-12-31 19:17
浏览 52
已采纳

打印$ GLOBALS私有静态属性未显示

I am practicing the singleton pattern using several examples. My code so far:

class LimitedEditionBuggati {
    private $props = array(
                            'speed'     => 256,
                            'cylinders' => 18,
                            'color'     => 'metalic silver',
                            'hp'        => 1200,
                            'price'     => 5000000,
                            'vin'       => 'the one'
                           );
    private static $instance;

    private function __construct(){}

    public static function instance() {
        if( empty($instance) ) {
            return new LimitedEditionBuggati();
        }
        return self::$instance;
    }

    public function getProperty( $property ) {
        return $this->props[$property];
    }
}

$myCar = LimitedEditionBuggati::instance();

How come the private static $instance does not get printed using print_r( $GLOBALS )?

  • 写回答

1条回答 默认 最新

  • douji5746 2014-12-31 22:59
    关注

    How come the private static $instance does not get printed using print_r( $GLOBALS )?

    Even though static class variables are variables that exist once and only once - as it is similar with global variables - they are not globally visible through $GLOBALS because they are not global variables in PHP.

    You can compare that with static variables inside a function (perhaps a better known concept for you):

    function my_function()
    {
        static $variable = 1;
    }
    
    my_function();
    print_r($GLOBALS);
    

    Even though the static variable $variable exists once and only once - similar to a global variable, it is just, that it is not visible in $GLOBALS.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 宇视监控服务器无法登录
  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥15 DruidDataSource一直closing
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据