Вызов неопределенной функции с PHP

У меня есть этот класс:

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 ответа

Решение
function func2(){
        echo func1();
    }

должно быть

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

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

self:: vs className:: inside статические методы className в PHP

Вы используете ОО-методы, поэтому вам придется использовать $this ключевое слово для доступа к func1() функция:

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

У вас есть ошибка в вашем коде, вы не можете вызвать функцию, как это, правильный путь с помощью $this (что относится к самому классу):

class testclass
{
    function func1()
    {
        return "hello";
    }
    function func2()
    {
        echo $this->func1();
    }
}
Другие вопросы по тегам