用PHP调用未定义的函数

时间:2014-04-29 10:44:11

标签: php function undefined scopes

我有这堂课:

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

这是范围问题吗?

3 个答案:

答案 0 :(得分:5)

function func2(){
        echo func1();
    }

应该是

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

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

self:: vs className:: inside static className metods in PHP

答案 1 :(得分:1)

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

class testclass
{
    function func1()
    {
        return "hello";
    }
    function func2()
    {
        echo $this->func1();
    }
}

答案 2 :(得分:0)

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

class testclass
{
    function func1()
    {
        return "hello";
    }
    function func2()
    {
        echo $this->func1();
    }
}