在类内部声明的数据成员称为属性。属性有时称为属性或字段。在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);
?>