class c1{
静态属性
static $v1 10;
}
修改静态属性的值
c1::$v1 = 100;
取得静态属性的值
$s1 = c1::$v1;
echo "s1 = $s1";
$c1 = new c1();
$c2=newc2();
echo "c1中的静态属性v1=".$c1::$v1;
通过$c1修改静态属性值
$c1::$v1 = 1000;
echo "c2中的静态属性v1=".$c2::$v1;
class s1{
public $v1 = 1;
static $v2 = 2;
static function showinfo(){
echo "显示信息";
静态方法中准备调用非静态方法
echo "v2=".s1::$v2;
}
function f1(){
echo "这是非静态方法“;
}
}
$obj = new s1();
$obj::showinfo();
class s2{
public $v1 =1;
static function getnew(){
self代表当前类
return new self;
}
}
通过s2的静态方法得到该类的一个新对象
$obj = s2::getnew();
var_dump($obj);