我有一个产品控制器和一个标头控制器。加载产品控制器时,我使用 Route::forward() 加载我的标头控制器。
return View::make('frontend.catalogue.product.view')
->with('head', Route::forward("GET", "frontend/page/head"));
然后,我可以通过执行以下操作来回显页面上的标题:
<?php echo $head; ?>
简单的。但是,我想将信息传递给将在产品控制器中定义的标题控制器,例如页面标题或元描述。
理想情况下,我要么能够将数组传递给标头,要么在某处有一个两个路由请求都可以访问的实例化类。
我已经尝试在我的基本控制器构造函数中实例化一个库,但是这会在每个 Route::forward() 请求上重新实例化,因此我设置的任何属性都无法在下一次转发中读取。
我能想到的唯一方法是使用会话数据,但这似乎不是最好的方法。
标头确实需要是一个控制器,而不仅仅是一个视图编辑器,因为它处理它自己的模型等。
我知道 Laravel 不做 HMVC,这将是理想的解决方案,而且我知道 HMVC 有捆绑包,但我很好奇你会如何以 Laravel 的方式处理这个问题。
(使用 Laravel 3.2 顺便说一句)