php中static、self、$this的区分有:一、【$this】示意工具的援用,写正在类中的非动态办法中;二、self以及this没有同,它指向类自身,没有指向任何实例化工具;三、static普通用来拜访类中的动态变量以及动态办法。
php中static、self、$this的区分有:
一、$this
示意工具的援用 $this写正在类中的非动态办法中, 实例化该类,谁挪用该办法(普通是工具挪用)$this则示意该工具的援用。
<?php class Person { public $name; public function getName() { echo $this->name; } } $p = new Person(); $p2 = new Person(); $p->name = "小红"; $p2->name = "小明"; $p->getName(); // 小红 $p2->getName(); // 小明
二、self
以及 this 没有同,它指向类自身,没有指向任何实例化工具,普通用来拜访类中的动态变量以及动态办法,也是写正在类中的办法。self写正在哪一个类中则示意该类的援用
<?php class Person { public static $name = "小红"; public static function getName() { echo self::$name; } } $p = new Person(); $p2 = new Person(); $p::getName(); // 小红 $p2::getName(); // 小红 $p::$name = "小明"; $p::getName(); // 小明 $p2::getName(); // 小明
三、static
普通用来拜访类中的动态变量以及动态办法,也是写正在类中的办法,也是阿谁类挪用该办法static就示意阿谁类(绑定阿谁类)
<?php class A { public function say() { echo "Hello"; } public function saySelf() { //static 以及 self 能够挪用非动态办法 不克不及挪用非动态属性 动态办法中不克不及有$this // static 以及 self 能够写正在非动态的办法中 ,能够应用工具挪用 self::say(); } public function sayStatic() { static::say(); } } class B extends A { public function say() { echo "World"; } } $b = new B(); $b->say(); // World $b->saySelf(); // Hello $b->sayStatic(); // World
相干学习保举:PHP编程从入门到通晓
以上就是php中static、self、$this的区分有哪些?的具体内容,更多请存眷资源魔其它相干文章!
标签: php php教程 Static self php故障解决 php使用问题
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
抱歉,评论功能暂时关闭!