【发布时间】:2014-11-12 02:17:00
【问题描述】:
我是 Laravel 的新手,所以仍然习惯这些概念,但是我有大约 10 年的 Smarty 使用经验。所以我希望利用这一点(除了 Blade 似乎缺少太多我认为有用且在 Smarty 中开箱即用的功能,但无论如何,除了这个问题的重点之外)。
我一直在寻找在 Laravel 中使用 Smarty 的正确方法,尽管在 here 等一些论坛上,似乎不清楚我需要做什么才能在框架内正确使用它.更具体地说,我的问题是:
我的
composer.json中应该包含哪个 Composer 包?似乎有 this 包括 Smarty 本身,因为它被修改了(不太热衷于此)。还有here,他们还建议http://bundles.laravel.com/bundle/SmartyView。不确定是否相同,因为 laravel.com 的 bundles 子域甚至都没有出现。它曾经在几天前出现,但我不知道他们是否将其关闭,因为捆绑包现在已经过时并被包取代......不确定。还有this我应该如何配置 Laravel 以使用 Smarty 视图而不是 Blade 视图?
鉴于 Laravel 使用 REST 风格的漂亮 URL,我应该如何包含来自 Smarty 的 CSS 和 JS 文件 视图,这样它们的路径是由 Laravel 动态设置的?在 Blade 中,您可以执行以下操作:
{{ HTML::style('css/style.css') }}。我可以使用类似的东西吗?还是更好地通过调用 HTML 类从代码中设置模板变量? (我真的不喜欢在模板中调用 PHP 代码,而这些模板应该只是做表示逻辑。)
对不起,如果有些问题有点琐碎。
【问题讨论】:
-
我认为你应该试试 Blade。我在 Smarty 模板方面也有丰富的经验,但现在我也在学习 Laravel 并使用 Blade。事实上,几乎所有模板系统都做同样的事情,其中一些具有比另一个更多的功能,但几乎总是足以生成所需的输出
-
@MarcinNabiałek 谢谢。我已经尝试了一点,但语法很糟糕,有时不一致,而且如此混乱和破碎(模板与布局等等),以至于网页设计师很难使用它。即使在 Dreamweaver 等工具中,Smarty 模板也几乎可以加载。
-
请注意,刀片被放入智能手机是有原因的。你很可能不得不拆开 laravel 来实现它。
-
@castis 似乎主要原因是在 Laravel 采用大量 Symfony 组件(其中 Twig 是首选模板引擎)之前,需要一个快速简单的模板引擎,并创建了 Blade。 .. 至少从我迄今为止所做的有限研究来看。与此同时,我正在尝试packalyst.com/packages/package/latrell/smarty
-
如果切换模板引擎会破坏 Laravel,那么 Laravel 就坏了;幸运的是,从发布的答案来看,这也是不真实的。