PHP5的OOP--$this引用

简介:
$this一般指向调用对象
 
代码如下
 
<?php 
//$this 引用 
class A 

        function foo() 
        { 
                if (isset($this)) { 
                        echo '$this已经定义:类 ('; 
                        echo get_class($this); 
                        echo ") < br />"; 
                } else { 
                        echo "\$this没有定义. < br />"; 
                } 
        } 


class B 

        function bar() 
        { 
                A::foo(); 
        } 


$a = new A(); 
$a->foo();//$this已经定义:类 (A) 
A::foo();//$this没有定义. 
$b = new B(); 
$b->bar();//$this已经定义:类 (B) 
B::bar();//$this没有定义. 
?>
 
可以看出A的实例对象通过$a->foo()方式调用时,$this就指向了这个调用对象。
 
但是通过静态调用A::foo()不存在实例化情况,所有没有$this.
 
接着在$b->bar()的调用中,有个静态调用A::foo()这时$this指向了上下文中的对象$b.
 
于是下面的这个代码的运行结果很显然了。
 
<?php 
class A 

  var $hello="Hello"; 
  function aa() 
  { 
  echo $this->hello; 
  } 


class B 

  var $hello="你好"; 
  function bb() 
  { 
         A::aa(); 
  } 


$b1=new B(); 
$b1->bb(); 
?>
 



本文转自 xcf007 51CTO博客,原文链接:http://blog.51cto.com/xcf007/106081 ,如需转载请自行联系原作者

相关文章
|
2天前
|
PHP 开发者
探索PHP中的面向对象编程(OOP)
【9月更文挑战第4天】在数字世界中,PHP以其灵活性和易用性成为了许多开发者的首选。本文将深入浅出地介绍PHP的面向对象编程(OOP),从基础概念到实际应用,带领读者一步步理解类、对象、继承、封装等核心理念。通过实际代码示例,我们将展示如何利用这些OOP特性来构建更高效、可维护的PHP应用程序。无论你是初学者还是有经验的开发者,这篇文章都将为你提供新的视角和深入的理解。
|
7天前
|
PHP 开发者
探索PHP中的面向对象编程(OOP)
【8月更文挑战第31天】在PHP编程世界里,面向对象编程(OOP)是一个强大的工具,它允许开发者通过构建可重用的代码块来简化复杂的项目。本文将引导你理解OOP的基本概念,并通过实际的代码示例展示如何在PHP中应用这些理念。无论你是新手还是有经验的开发者,这篇文章都将为你提供新的视角和技巧,帮助你更有效地使用PHP进行面向对象的开发。
|
1月前
|
设计模式 PHP 开发者
探索PHP中的面向对象编程(OOP)
在PHP的世界中,面向对象编程(OOP)是构建强大、可维护代码的核心。本篇文章将带您深入理解PHP中OOP的基本概念与实践应用,从类和对象的创建到继承、封装、多态性的实现,以及设计模式的应用,让您能够有效地使用OOP原则来编写更加清晰、灵活的PHP代码。
|
1月前
|
PHP 开发者
探索PHP的面向对象编程(OOP)特性
【8月更文挑战第1天】在这篇文章中,我们将深入探讨PHP语言的面向对象编程(OOP)特性。我们将通过具体的代码示例,来理解类和对象的概念,以及如何在PHP中使用它们。我们还将讨论封装、继承和多态性等OOP的关键概念,并通过实际的代码片段来演示它们的应用。无论你是PHP的新手,还是有一定经验的开发者,这篇文章都将帮助你更好地理解和使用PHP的OOP特性。
24 4
|
PHP 数据安全/隐私保护
php-面向对象OOP
php-面向对象OOP
71 0
|
PHP
【laravel报错】You don‘t have permission to access /laravel/public/index.php on this server.
【laravel报错】You don‘t have permission to access /laravel/public/index.php on this server.
113 0
【laravel报错】You don‘t have permission to access /laravel/public/index.php on this server.
下一篇
DDNS