以Ruby on Rails为例。
class SomeController < ApplicationController
before_filter :generateRandomValue
def generateRandomValue
//generates a random value between 0 and 10
end
def getBoo
//Return value generated by the method above
end
end
如果我们调用getBoo
,则类将首先运行generateRandomValue
,因为它在过滤前具有一般范围。
我们也可以在Ruby on Rails中过滤之前调整它,比如;
method x,y,z runs before a method.
method 1,2,3 runs before b,c,d method.
method always, always runs. (think it like PHP's __construct())
在Laravel 4中控制器方法调用之前有没有办法在过滤器之前设置?
主要原因是,我希望通过在过滤器之前应用来干掉我的大部分代码。
谢谢。
答案 0 :(得分:1)
是的 - 这是Laravel 4中的一项新功能。
泰勒has a good video on it here you can watch - 显示其实际效果和使用的代码。
但一般来说,只需在构造函数中添加一个过滤器:
Class ExampleController extends BaseController
{
public function __construct()
{
$this->beforeFilter('myfilter');
$this->beforeFilter('anotherfilter')->only('getBoo');
}
}