如何在预控制器中加载数据并直接传递给Laravel 5中的视图?

时间:2016-01-03 13:26:05

标签: php codeigniter laravel-5.1

我正在开发一个Laravel 5项目。那是一个电子商务项目。我想为每个请求加载所有类别。因为那是在导航栏中使用的。在我使用Codeigniter Framework之前。在CodeIgniter中,我确实喜欢这个。我创建了一个名为" MainController"的Controller类。这扩展了CI_Controller。

所以班级细节如下:

class MainController extends CI_Controller{

public $data;

function __construct()
{
    $this->data["categories"] = getCategries();
}

}

然后每个控制器都扩展MainController并将数据传递给这样的视图。

class Home extends MainContoller{

 function index(){
  $this->load->view('view',$this->data);
 }

}

我在Laravel尝试过类似的方法。但是当到达子控制器时,不包括数据属性值。所以我尝试使用中间件。然后尝试将数据与请求一起传递给控制器​​。但控制器仍然需要做这样的事情

   $data['categories'] = $request->categories;

我需要在每一个动作中都这样做。我不喜欢它。如何在CodeIgniter中实现它?我目前正在使用Laravel 5.1。

1 个答案:

答案 0 :(得分:1)

您可以使用view composer

如果您不熟悉这样的概念,我建议您阅读整个链接教程页面。