3
我有一个基本控制器,所有其他控制器将扩展它。 我想做一些主题和验证,并在其Before函数中加载小部件。Laravel 4控制器之前和之后功能
我知道我可以用路由过滤器来处理这个,但是我不想把我的代码放在路由器里我想让每个控制器的动作先执行“Before function”然后执行这个Base控制器的“After function” Laravel 3.
class FrontController extends \BaseController {
protected $layout = 'home.index';
public function __construct() {
}
public function before() {
// Do some theme and validation
}
public function __call($method, $parameters) {
return Response::abort('404');
}
更新:我正在寻找一种方式,例如,我可以基于页面的配置或负载侧边栏小工具更换主题后,主控制器完成了它的功能和......因为我想访问$ this。
谢谢本杰明但问题是,当我们使用封闭,我们不能使用$,因为我们不在对象范围内。 例如,这将引发异常: 公共函数__construct(){$ 这 - >后过滤器(功能(){ 的var_dump($这个 - >布局); }); } – 2013-05-01 14:04:58
@MiladRey您可以将参数传递给封闭 – 2013-05-01 16:03:02
我尝试这样做: 公共职能__construct(){$ 这 - > beforeFilter(函数($ OBJ)使用($这个){ 的var_dump($ obj- > layout); }); } 但它抛出 “编译错误:无法使用$该词法变量” – 2013-05-01 18:31:28