0

我有这堂课:

class testclass{
    function func1(){
        return "hello";
    }
    function func2(){
        echo func1();
    }
}

当我跑步时

$test = new testclass();
$test->func2();

我收到一个错误:Fatal error: Call to undefined function func1()行索引为echo func1();

我现在的问题是,我该如何func2识别func1

这是范围的问题吗?

4

3 回答 3

5
function func2(){
        echo func1();
    }

应该

function func2(){
        echo $this->func1();
    }

http://www.php.net/manual/en/language.oop5.visibility.php

self:: vs className:: PHP 中的静态 className 方法

于 2014-04-29T10:45:14.057 回答
1

您正在使用 OO 技术,因此您必须使用$this关键字来访问该func1()函数:

class testclass
{
    function func1()
    {
        return "hello";
    }
    function func2()
    {
        echo $this->func1();
    }
}
于 2014-04-29T10:45:33.457 回答
0

您的代码中有错误,您不能像这样调用函数,正确的方法是使用$this(指的是类本身):

class testclass
{
    function func1()
    {
        return "hello";
    }
    function func2()
    {
        echo $this->func1();
    }
}
于 2014-04-29T10:48:46.417 回答