php 学习系列: 变量的作用域

 1 <? php
 2 class  SystemComponent{
 3      var   $settings ;
 4
 5      function  getSettings()
 6     {        
 7          $settings [ ' dbhost ' =   ' localhost ' ;
 8          //  more
 9          return   $settings ;
10     }
11 }
12 ?>

这个代码有没有问题?
我认为 line 3 和 line 7 的 $settings 变量是不一样的,也就是说 line 3 这行代码有和没有一个样。为了验证这一点,写测试代码如下:

<? php
class  SystemComponent{
    
var   $settings ;
    
    
function  SystemComponent() {
        
$this -> settings[ ' dbhost ' =   ' hello ' ;        
    }
    
    
function  getSettings()
    {        
        
$settings [ ' dbhost ' =   ' localhost ' ;
        
//  more
         return   $settings ;
    }
}

$settings   =  SystemComponent :: getSettings();
print   $settings [ ' dbhost ' .   ' <br/> ' ;

$sc   =   new  SystemComponent();
$set   =   $sc -> getSettings();
print   $set [ ' dbhost ' .   ' <br/> ' ;
print   $sc -> settings[ ' dbhost ' .   ' <br/> ' ;
?>

输出的结果是:
localhost
localhost
hello

基本证明了我的想法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值