PHP - 从类访问函数

Ale*_*lex 2 php class function

我有一个类:

class bla_bla extends WP_Widget {

  function boo(){
    return 'something';
  }

  ...
}
Run Code Online (Sandbox Code Playgroud)

(这是一个WordPress小部件)

如何boo()从课外访问该功能?我想将该函数返回的值赋给变量,比如$var = boo();

RDL*_*RDL 12

您可以直接访问它,也可以通过实例化该类来访问它:

$blah = new bla_bla();
$var = $blah->boo();
Run Code Online (Sandbox Code Playgroud)

要么

$var = bla_bla::boo();
Run Code Online (Sandbox Code Playgroud)


Pal*_*tir 5

您必须有该类的实例才能调用它,例如:

$widget = new bla_bla();
$var = $widget->boo();
Run Code Online (Sandbox Code Playgroud)

否则,您可以将“static”关键字添加到 boo() 函数,您可以像$var = WP_Widget::boo();这样调用它,但这会改变语义并可能破坏代码。