【问题标题】:Can I disable PHP within a Laravel (Blade) view file?我可以在 Laravel (Blade) 视图文件中禁用 PHP 吗?
【发布时间】:2013-06-04 16:26:39
【问题描述】:

我的理解是,MVC 模板被用作锁定视图的一种手段,不使用任何实质性的编程逻辑。测试 Laravel 4 的 Blade 系统,我注意到我仍然能够将 PHP 内容包含到视图中。

我可以在 Blade 模板中禁用 PHP 吗?本质上是将文件转换为具有一些附加可能性的 .html 文件(例如,Blade 循环和部分/包含)。

【问题讨论】:

  • 刀片文件无论如何都只是编译成 PHP 文件。
  • 谢谢 Jason(巧合的是,我在一个不相关的 Laravel 搜索中看到您的回复后几分钟就找到了您的博客/tuts)。我认为模板阻止了 PHP(对于在项目前端工作的设计师很有用),但我一定是误会了。
  • 如果你确实设法“禁用”了 PHP,那么你的变量、循环等就不会被解析。如果您想将任何“逻辑”限制为模板语言,那么您可能想看看 Twig 或 Mustache 之类的东西。

标签: php laravel laravel-4 template-engine


【解决方案1】:

Blade 模板编译为 php,因此您将无法完全消除 php。

您可以通过创建自己的编译器或扩展 Blade 来解决您的项目。

您需要自己解决如何处理模板中使用的 php 中的部分渲染问题,我将按原样渲染它们,例如: - 如果有人忘记了<?php echo $example; ?>,那么引擎将呈现该内容。

【讨论】:

    【解决方案2】:

    如果您在视图中需要编程逻辑,您可能做错了什么。尝试在控制器中执行逻辑并将变量注入到视图中。

    【讨论】:

    • 抱歉,澄清一下,这正是我不希望 PHP 在视图中可用的原因。我认为使用 Blade 可以防止这种情况发生,但我可以看到它仍然是可能的。 (我包含的 PHP 逻辑只是为了测试它是否允许它)。
    猜你喜欢
    • 2022-08-17
    • 2018-06-10
    • 1970-01-01
    • 1970-01-01
    • 2017-03-09
    • 2015-11-14
    • 2019-09-06
    • 2016-10-01
    • 2021-05-14
    相关资源
    最近更新 更多