【问题标题】:PHP - access function from a classPHP - 从类中访问函数
【发布时间】:2011-05-12 02:31:57
【问题描述】:

我有这样的课:

class bla_bla extends WP_Widget {

  function boo(){
    return 'something';
  }

  ...
}

(这是一个 WordPress 小部件)

如何从课堂外访问boo() 函数? 我想将该函数返回的值分配给一个变量,例如$var = boo();

【问题讨论】:

标签: php class function


【解决方案1】:

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

$blah = new bla_bla();
$var = $blah->boo();

$var = bla_bla::boo();

【讨论】:

    【解决方案2】:

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

    $widget = new bla_bla();
    $var = $widget->boo();
    

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

    【讨论】:

      【解决方案3】:

      首先你需要一个类的实例。然后调用该方法(如果它是公开的)。您应该阅读一些 OOP 教程,因为这是非常基础的东西。见Object Oriented PHP for Beginners

      $bla = new bla_bla();
      $var = $bla->boo();
      

      【讨论】:

        【解决方案4】:

        短文风格:

        $bla = (new bla_bla)->boo();
        

        【讨论】:

          【解决方案5】:
          $bla = new bla_bla();
          $var = $bla->boo();
          

          【讨论】:

          • 但是如果我使用new bla_bla(),这个类不会也运行其他函数吗?
          猜你喜欢
          • 2013-02-23
          • 2013-10-02
          • 2017-09-08
          • 2013-02-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-11-23
          • 1970-01-01
          相关资源
          最近更新 更多