如果我们在一个php脚本中实现一个类,实例化这个类,并且访问类中使用var关键字定义的属性来解决访问类属性不存在的问题。
php版本5.6
如果我们在一个php
脚本中实现一个类,实例化这个类,并且访问类中使用var关键字定义的属性来解决访问类属性不存在的问题。
如果我们定义个类A
,实例化类A
,并且访问类中存在的属性
,看下会出现什么效果?
定义一个类A
<?php
class A
{
var $name;
}
$a = new A();
var_dump($a->name);
执行脚本
发现输出NULL
因为我们使用var关键字
定义了类的属性$name
,且没有赋值,所以返回NULL
。
属性赋值
var $name = "fxzb";
再次执行脚本
发现输出string(4) "fxzb"
如果在类中你不适用关键字定义$name
,就报程序解析错误,即语法错误
。
Parse error: syntax error, unexpected '$name' (T_VARIABLE), expecting function (T_FUNCTION) in index.php on line 4
所以我们在定义类成员属性
的时候,必须声明类成员属性类型
。
可以使用var
和public
定义类的公共成员属性。
如果我们把类A
的成员变量这样定义又会发生什么情况?
情况一:protected $name
<?php
class A
{
protected $name;
}
$a = new A();
var_dump($a->name);
情况二:private $name
<?php
class A
{
private $name;
}
$a = new A();
var_dump($a->name);
如果出现问题,有怎么解决出现的问题?
转载注明:
感谢博主,喝杯咖啡~
感谢博主,喝杯咖啡~
还没有人发表评论