如何从Laravel(4)中的子类调用BaseController公共函数?

时间:2017-01-15 14:17:38

标签: laravel laravel-4

我有一个CustomController。为了不重复自己,我在BaseController中定义了getVars函数。我想从CustomController中的一些函数调用getVars函数。

但是,Laravel会毫无例外地返回404错误。有什么问题?

class BaseController extends Controller {
    public function getVars($var1, $var2, $var3=Null, $var4=Null) {
        return [];
    }
}

class CustomController extends BaseController {
    public function doBla1($var1, $var2) {
        $vars = $this->getVars();
    }
    public function doBla2() {
        $vars = $this->getVars();
    }
    public function doBla3() {
        $vars = $this->getVars();
    }
}

抱歉:(我发现错误的原因.doBla1和getVars函数的名称相同。这导致404错误。抱歉:(

1 个答案:

答案 0 :(得分:1)

当您在同一个控制器中定义了方法/函数时,

$this非常有用。

对于父控制器内的功能,您可以使用

Parent::getVars($var1, $var2)