Вызов неопределенной функции с 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();
}
}