在类内部声明的数据成员称为属性。属性有时称为属性或字段。在PHP中,属性由访问说明符关键字public,private或protected限定。属性名称可以是PHP中的任何有效标签。每个类实例的属性值可以不同。这就是为什么有时将其称为实例变量。
在任何实例方法中,都可以通过调用对象的上下文(作为伪变量$this)来访问属性。如果将某个属性声明为公共属性,则可以在->运算符的帮助下使其成为对象。如果使用static关键字定义属性,则其值在该类的所有对象之间共享,并使用范围解析运算符(::)和类名进行访问。
本示例说明如何定义和访问属性
<?php class myclass{ private $fname="Kiran"; public $mname="Pratap"; static $lname="Singh"; function dispdata(){ echo "$this->fname\n"; echo "$this->mname\n"; echo myclass::$lname; } } $obj=new myclass(); $obj->dispdata(); ?>
输出结果
上面代码的输出如下-
Kiran Pratap Singh
在类外部,声明为public的实例属性可用于对象,但私有属性不可访问。在以前的PHP版本中,var关键字可用于属性声明。尽管现在已弃用它,但仍可用于向后兼容,并将其视为属性的公共声明。
PHP 7.4引入了属性变量的类型声明
<?php class myclass{ private string $name; private int $age; function setdata(string $x, int $y){ $this->name=$x; $this->age=$y; } } $obj=new myclass("Kiran",20); ?>