我在类中调用函数,函数在类之外。我想将类的$this
传递给该函数,
目前我正在这样做:
class foo {
func_outside_class($this);
}
function func_outside_class($context){
return $context;
}
有没有办法让我不需要将上下文作为函数参数传递。 或者我上面的代码没问题?
我无法在函数内部创建对象,导致此类需要一些参数。
答案 0 :(得分:0)
@Barmar写道:
将
$this
传递给外部函数没有任何问题。但我不明白为什么你会立即覆盖$context
变量 - 如果函数不使用它,为什么该函数需要参数?也许你的意思是$this = $context
。如果就是这种情况,我认为你不能这样做。您不能分配
$this
,它是一个特殊变量,它始终包含类方法中的当前对象。在外部功能中,您只需执行
$context->method(...)
即可使用它。
答案 1 :(得分:-1)
如果您只想引用课程内的方法,可以执行类似的操作
class Foo {
public function bar() {
return 'Hello World';
}
}
function func_outside_class() {
// instantiate class
$foo = new Foo;
// call method bar() from Foo class
echo $foo->bar();
}