【问题标题】:access parent function in extended class访问扩展类中的父函数
【发布时间】:2014-05-23 17:20:43
【问题描述】:

我正在努力提高 php 的能力。我有一个关于父类的问题。在下面的代码中,有一种方法可以在 $b 实例化中从类 a 调用函数 foobar()。谢谢

<?php 
  class foo {
    function callFooBar(){$this->foobar();} 
    function foobar(){echo('foobar of foo');}
  }
  class bar extends foo {
    function foobar(){echo('foobar of bar');}
  } 
  $b=new bar; 
  $b->foobar(); 
  echo("<br>");
  $b->callFooBar(); 
?> 

【问题讨论】:

  • 你的意思是后期静态绑定? function callFooBar(){static::foobar();}
  • 我不熟悉这个术语。我想使用'$b->something->foobar();'并获得“foobar of foo”,我知道我可以使用 '$f = new foo;'但是有没有办法从'$b'

标签: php class instantiation extends


【解决方案1】:

如果要从类本身调用方法,可以使用self

function callFooBar(){self::foobar();}

一个example

使用$thisstatic 将得到两次相同的结果。

如果你想从 bar 类中的方法执行此操作,则必须使用 parent

【讨论】:

    猜你喜欢
    • 2019-07-04
    • 2014-01-26
    • 2012-02-11
    • 1970-01-01
    • 1970-01-01
    • 2011-07-28
    • 2016-07-26
    • 2022-11-24
    • 1970-01-01
    相关资源
    最近更新 更多