gpt4 book ai didi

php - Laravel 4 ViewModel(带 mustache )

转载 作者:行者123 更新时间:2023-12-03 10:37:38 25 4
gpt4 key购买 nike

我希望扩展 Laravel 4 以包含 ViewModel对象,或者制作 Views表现得像个 ViewModel并创建一个单独的模板部分。我更喜欢为此使用 Mustache,但这不是必需的。

是否有任何好的库或代码片段可以让我扩展基本的 Laravel 功能并插入 ViewModel在我的 Controller 和 HTML 模板之间。任何帮助,将不胜感激!

最佳答案

我不确定我是否完全理解您的问题 - 是 ViewComposers不合适?

根据您要实现的目标,您还可以 Hook 在 View 组合之前触发的 View Composer 事件,如下所示:

app/start/global.php 或 PackageServiceProvider

\Event::listen('composing: *', function($view) {
//custom code here acting upon the instantiated View object
}

我输入的位置 composing: * , * 对应于 View 名称,在这种情况下匹配任何 View 名称。

您可以通过命名您的 View 并创建响应不同 namespace 的事件监听器来更进一步您可以为您的 mustache View 注册一个新的 namespace ,然后只响应该 namespace 中的 View ,通常我会将我的 mustache View 公开dir 以便可以在客户端访问它们,因此您可以执行以下操作:

app/start/global.php 或 PackageServiceProvider
\View::addNamespace('m', public_path() . '/views');
\Event::listen('composing: m::*', function($view) {
//custom code here acting upon the instantiated View object when a namespaced mustache view is composed.
}

然后,您将使用以下方法制作这些 View :
View:make('m::view_name')

使 View

public/views/view_name.mustache



如果以上不能满足您的需求,您可以查看 Presenter - 我没有试过这个包,但可能是你要找的。

希望这会有所帮助,如果我误解了您的问题,请见谅

关于php - Laravel 4 ViewModel(带 mustache ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19407891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com