php类成员属性定义

PHP / 430人浏览 / 0人评论

如果我们在一个php脚本中实现一个类,实例化这个类,并且访问类中使用var关键字定义的属性来解决访问类属性不存在的问题。

php类属性

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

所以我们在定义类成员属性的时候,必须声明类成员属性类型

可以使用varpublic定义类的公共成员属性。

如果我们把类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);

如果出现问题,有怎么解决出现的问题?

转载注明:

0 条评论

还没有人发表评论

发表评论 取消回复

记住我的信息,方便下次评论
有人回复时邮件通知我