我想知道是否可以从同一个类中的另一个方法调用一个方法?
例如,这个代码非常简单,方法method_foo()
调用方法a()
:
<?php
class foo {
function a() {
return 3;
}
function method_foo() {
echo a();
}
}
$obj = new foo();
$obj->method_foo();
?>
但是当我致电method_foo()
时,我收到了这个错误:
(!)致命错误:调用未定义的函数a() / home / guest / public_html / ... on line ... Call Stack
#时间记忆功能位置1 0.0015 312032 {main}()../ index.html:0 2 0.0156 523056 foo-&gt; method_foo( )../ index.html:1667
为什么会出现此错误?我可以让这个例子有效吗?
答案 0 :(得分:1)
您需要使用$ this来访问此方法。
class foo {
function a()
{
return 3;
}
function __construct()
{
}
function method_foo()
{
echo $this->a();
}
}
$obj = new foo();
$obj->method_foo();
答案 1 :(得分:1)
你应该在函数method_foo()中调用方法a(),如下所示:
echo $this->a(); //this will output 3
答案 2 :(得分:1)
您可以使用$this
来调用相同的类方法/变量
function method_foo()
{
echo $this->a();
}