Maison  >  Article  >  développement back-end  >  php $this到底是什么

php $this到底是什么

WBOY
WBOYoriginal
2016-08-08 09:29:311366parcourir

一般说法:¥this表示当前所在类对象这个很不明确

$this取决于¥this所在方法被调用时的执行对象(环境)

方法执行环境:当前方法在哪个对象环境下执行,该方法的¥this就表示该对象,针对还原一层层到最初始的方法的对象

举例

class A{
        private function m(){
                echo 'aa';
        }
        public  function run(){
                var_dump($this);
        }
}
$ai = new A();
$ai->run();
echo "
=======
";
class B{
        public function m(){
                var_dump($this);
echo '

';
A::run();
        }
}
$li = new B();
$li->m();
?>


但是如果是继承过来的另算,此run方法来自继承,所以this是a类的

class a{
        private function m(){
                echo 'aa';
        }
        public function run(){
                $this->m();
        }
}
class b extends a{
        public function m(){
                echo 'bb';
        }


}
$li = new b();
$li->run();
?>

以上就介绍了php $this到底是什么,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:类型 - PHP手册笔记Article suivant:ThinkPHP3.2开发手册 学习笔记