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.

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

报告相同问题?

悬赏问题

  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
  • ¥15 前端echarts坐标轴问题