我正忙着做以下工作
class abc{
public function abc(){
someFunction(){
now here I can not call bcg function like due to scope of function
function bcg(){
$this->bcg();
}
}
}
public function bcg(){
...
}
}现在我的问题是如何将当前类的对象传递给类方法中的哪一个函数?
发布于 2015-10-26 11:26:18
您可以通过将当前对象作为参数传递到匿名函数/闭包中:
// In an object method
$yourFunc = function ($object){
$object->bcg();
}
$yourFunc($this);如果您的函数是在类之外定义的,则还可以将其用作解决方案:
function myFunction($object) {
$object->bcg();
}
class Foo {
public function bgc() {
// ...
}
public function doSomething() {
myFunction($this);
}
}请注意,您的bcg函数将从公共范围中访问,因此protected或private函数将无法工作。
发布于 2015-10-26 11:24:20
不能在类方法中创建函数。
这应该是可行的:
class abc {
public function abc() {
$this->bcg(); // You can all bcg() here now
}
public function bcg() {
}
}https://stackoverflow.com/questions/33344463
复制相似问题