如何在同一个 class 中调用另一个方法中的方法?
How can I call a method in another method in the same class?
我想知道是否可以从同一个方法中的另一个方法调用一个方法class?
例如这段代码,非常简单有一个方法method_foo()
调用方法a()
:
<?php
class foo {
function a() {
return 3;
}
function method_foo() {
echo a();
}
}
$obj = new foo();
$obj->method_foo();
?>
但是当我调用 method_foo()
时,我收到了这个错误:
( ! ) Fatal error: Call to undefined function a() in
/home/guest/public_html/... on line ... Call Stack
# Time Memory Function Location 1 0.0015 312032 {main}( ) ../index.html:0 2 0.0156 523056 foo->method_foo(
) ../index.html:1667
为什么会出现此错误?我可以让这个例子工作吗?
您需要使用 $this 来访问此方法。
class foo {
function a()
{
return 3;
}
function __construct()
{
}
function method_foo()
{
echo $this->a();
}
}
$obj = new foo();
$obj->method_foo();
你应该像这样在函数 method_foo() 中调用方法 a() :
echo $this->a(); //this will output 3
您可以在以下位置阅读更多相关信息:http://php.net/manual/en/ref.classobj.php。
您可以使用 $this
调用相同的 class methods/variables
function method_foo()
{
echo $this->a();
}
我想知道是否可以从同一个方法中的另一个方法调用一个方法class?
例如这段代码,非常简单有一个方法method_foo()
调用方法a()
:
<?php
class foo {
function a() {
return 3;
}
function method_foo() {
echo a();
}
}
$obj = new foo();
$obj->method_foo();
?>
但是当我调用 method_foo()
时,我收到了这个错误:
( ! ) Fatal error: Call to undefined function a() in /home/guest/public_html/... on line ... Call Stack
# Time Memory Function Location 1 0.0015 312032 {main}( ) ../index.html:0 2 0.0156 523056 foo->method_foo( ) ../index.html:1667
为什么会出现此错误?我可以让这个例子工作吗?
您需要使用 $this 来访问此方法。
class foo {
function a()
{
return 3;
}
function __construct()
{
}
function method_foo()
{
echo $this->a();
}
}
$obj = new foo();
$obj->method_foo();
你应该像这样在函数 method_foo() 中调用方法 a() :
echo $this->a(); //this will output 3
您可以在以下位置阅读更多相关信息:http://php.net/manual/en/ref.classobj.php。
您可以使用 $this
调用相同的 class methods/variables
function method_foo()
{
echo $this->a();
}