从函数php oop中调用函数

时间:2011-10-12 12:04:16

标签: php oop class function call

我想知道这是否可行,虽然我很有信心可能有更好的方法。我有这个脚本结构:

class Mother {
    public function __construct() {
        // script here
    }

    public function writer() {
        if() {
            // if true
        } else {
            // call function hello
        }
    }

    public function hello() {
        echo "Hello there.";
    }
}

如何从writer()调用hello()?感谢。

3 个答案:

答案 0 :(得分:3)

喜欢这样

public function writer() {
    $this->hello();
}

$this是类的保留变量,任何实例化的类(通过new myClass调用)都可以访问$this,但是如果你使用静态类,你会需要将该函数定义为静态并使用static::myFunction方法,例如:

class exampleClass {
    public static function exampleFunc() {
        static::hello();
    }
    public static function hello() {
        echo "Hello!";
    }
}
exampleClass::exampleFunc();

答案 1 :(得分:0)

// call function hello
$this->hello();

此外,您的其他功能在语法上是错误的。注意括号。

public function writer() {
public function hello() {

答案 2 :(得分:0)

在我的PHP 5.3.4安装

public function hello() { }

似乎可以通过两种方式从另一种实例方法获得

$this->hello()
self::hello()

显然,

$this

当将公共方法作为类方法

调用时,对实例的引用将不可用