0

以这个 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 中的控制器方法调用之前,有什么方法可以在过滤器之前设置?

主要原因是,我想通过在过滤器之前应用来干燥我的大部分代码。

谢谢你。

4

1 回答 1

1

是的 - 这是 Laravel 4 中的一个新功能。

Taylor有一个很好的视频,你可以在这里观看——它显示了它的运行情况和要使用的代码。

但一般来说,您只需在构造函数中添加一个过滤器:

Class ExampleController extends BaseController
{
    public function __construct()
    {
        $this->beforeFilter('myfilter');        
        $this->beforeFilter('anotherfilter')->only('getBoo');       
    }
}
于 2013-09-20T02:57:29.440 回答