加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP使用静态方法的几个注意事项

发布时间:2020-12-13 02:02:00 所属栏目:PHP教程 来源:网络整理
导读:《PHP使用静态方法的几个注意事项》要点: 本文介绍了PHP使用静态方法的几个注意事项,希望对您有用。如果有疑问,可以联系我们。 本文实例介绍了PHP使用静态办法的几个常见注意事项.供大家参考研究.具体办法如下: PHP教程 1. 即使类中的办法并未用st

《PHP使用静态方法的几个注意事项》要点:
本文介绍了PHP使用静态方法的几个注意事项,希望对您有用。如果有疑问,可以联系我们。

本文实例介绍了PHP使用静态办法的几个常见注意事项.分享给大家供大家参考.具体办法如下:PHP教程

1. 即使类中的办法并未用static声明,但其未使用到可改变的类成员变量,在外部仍可用操作符::来调用PHP教程

2. 以静态方式(用::操作符)调用的办法中$this的取值是由调用时的上下文决定的!而不是定义他的类!!PHP教程

例如以下的代码:PHP教程

<?php 
class TestClass1 
{ 
  public $normal_v = 'normal_v from TestClass1'; 
  public static $STATIC_V = 'STATIC_V from TestClass1'; 
  public function test_func1() 
  { 
    echo $this->normal_v.'<br />'.self::$STATIC_V; 
  } 
} 
class TestClass2 
{ 
  public $normal_v = 'normal_v from TestClass2'; 
  public static $STATIC_V = 'STATIC_V from TestClass2'; 
  public function test_func2() 
  { 
    TestClass1::test_func1(); 
  } 
} 
$t2 = new TestClass2(); 
$t2->test_func2(); 

这段代码是输出会是什么呢,我原以为会是normal_v from TestClass1 <br /> STATIC_V from TestClass1,测试发现其实我错了,正确的输出是:PHP教程

normal_v from TestClass2
STATIC_V from TestClass1PHP教程

阐明:test_func1()虽然是在TestClass1中定义的,但却是在TestClass2中调用的,其内部的$this变量则是由TestClass2决定的!PHP教程

其实这两个类的关系应该属于"双向联系关系".PHP教程

感兴趣的朋友可以测试运行本文实例,相信会有新的劳绩!PHP教程

《PHP使用静态方法的几个注意事项》是否对您有启发,欢迎查看更多与《PHP使用静态方法的几个注意事项》相关教程,学精学透。编程之家 52php.cn为您提供精彩教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读