/

Copyright(C) Iamasb

@project : 3、workerman干系知识点

php面相对象static24php面向对象例子static症结字 jQuery

@explain : static关键字

@filename : 4、static关键字

@author : Iamasb

/

class TestStatic

{

/

静态属性

@var string

/

public static $param = 'param';

/

@var string

/

public $param1 = 'param1';

/

静态方法

打印属性param1

/

public static function func1()

{

echo $this->param1,PHP_EOL;

}

/

静态方法

打印静态属性

/

public static function func2()

{

echo self::$param,PHP_EOL;

}

/

打印静态属性param

/

public function func3()

{

echo $this->param,PHP_EOL;

$this->func2();

}

}

$ts1 = new TestStatic();

//$ts1->func1();

echo \"大众====打印一====\"大众,PHP_EOL;

$ts1->func2();

$ts1->func3();

$ts1->param = 'ts1';

echo \"大众====打印二====\"大众,PHP_EOL;

$ts1->func2();

$ts1->func3();

TestStatic::$param = \公众hello world\"大众;

echo \"大众====打印三====\公众,PHP_EOL;

$ts1->func2();

$ts1->func3();

$ts2 = new TestStatic();

echo \公众====打印四====\"大众,PHP_EOL;

$ts2->func2();

$ts2->func3();

echo \"大众====打印五====\"大众,PHP_EOL;

TestStatic::func2();

2、实行结果

对$ts1->func1();进行注释掉,再实行

3、总结static修正属性和方法的称为类静态,这里的静态是指类所有,被所有实例化工具共享静态方法中不能利用$this,这是静态方法为类所有,因此在此方法内部利用$this,则无法区分是哪个实例化工具修正静态属性,只能通过类名,如利用$this,则会被当做是该类的公开属性静态方法可以通过一个类已实例化的工具来访问self代替当前运行高下文