1

在 FuelPHP 中构建页面的最佳方式是什么,以便页面的每个块都作为模块自行构建,然后将输出的 HTML 放在一起布局中。

到目前为止,我发现的最好的是具有以下内容的 HMVC。

$block1= Request::forge('mycontroller/block1')->execute();
$block2= Request::forge('mycontroller/block2')->execute();

$data['block1'] =$block1;
$data['block2'] = $block2;

//assign the view to browser output
return View::forge('home/index', $data);

然而,为调用加载整个框架似乎相当低效(结果可能很慢)。有一个更好的方法吗?

4

2 回答 2

2

如果您正在使用模块(而不是像您在这里所做的那样在同一个控制器中调用不同的操作),那么请求绝对是要走的路。由于请求使用路由表,您可以通过操作路由来控制调用哪个控制器/操作。

设置一个新请求不是很复杂,额外的延迟是几毫秒。

为了完整起见,执行 HMVC 请求的方式:

try
{
    $result = \Request::forge('your/uri/here')->execute()->response()->body;
}
catch (\HttpNotFoundException $e)
{
    // the requested URI could not be found
}
于 2013-08-31T19:03:52.123 回答
0

而不是使用Request::forge('mycontroller/block1')->execute();你可以使用View::forge('mycontroller/block1').

视图必须处理块,而不是请求。其他优点是阻塞的 pas vars....我还没有完全测试过,但渲染速度似乎更快。

于 2013-08-20T13:14:38.003 回答