Smarty:如何在模板中包含php?

发布于 2024-11-19 06:02:36 字数 130 浏览 1 评论 0原文

我尝试过 {include_php file="phpfile.php"}{php} 标记,但两者都会导致已弃用的错误。你能不能在 Smarty 中不再这样做了?我在文档中找不到任何内容。

I've tried {include_php file="phpfile.php"} and {php} tags but both cause deprecated error. Can you not do this in Smarty anymore? I can't find anything in the docs.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

别理我 2024-11-26 06:02:36

我规避了这个问题。创建一个名为 block.php_code.php 的插件文件,其中包含以下函数:

function smarty_block_php_code($params, $content, &$smarty)
{
    if (is_null($content))
    {
        return;
    }
    if ('<?php' == substr($content,0,5) && '?>' == substr($content, -2))
        $content = substr($content,5,-2);
    ob_start();
    eval($content);
    return ob_get_clean();
}

在模板中,您可以编写:

{php_code}{literal}<?php

    print "Hello, world!";

?>{/literal}{/php_code}

I circumvented this problem. Create a plugin file named block.php_code.php with this function in it:

function smarty_block_php_code($params, $content, &$smarty)
{
    if (is_null($content))
    {
        return;
    }
    if ('<?php' == substr($content,0,5) && '?>' == substr($content, -2))
        $content = substr($content,5,-2);
    ob_start();
    eval($content);
    return ob_get_clean();
}

In your template, you can then write:

{php_code}{literal}<?php

    print "Hello, world!";

?>{/literal}{/php_code}
我的影子我的梦 2024-11-26 06:02:36

它们之所以贬值是有原因的,因为它们允许不良的做法。 Smarty 建议将包含的脚本放入 PHP 逻辑中或创建一个插件(即简单的)。

Smarty 已弃用

{php} 标签,不应使用。将您的 PHP 逻辑放在 PHP 脚本或插件函数中。

来源

Smarty 已弃用 {include_php},请使用注册的插件将演示文稿与应用程序代码正确隔离。

来源

如果您将要执行的操作包含在您的phpfile.php,我们可以帮助您编写插件功能。

They are depreciated for a reason as they allow poor practices. Smarty recommends putting the included script into the PHP logic or creating a plugin (which is simple).

{php} tags are deprecated from Smarty, and should not be used. Put your PHP logic in PHP scripts or plugin functions instead.

Source

{include_php} is deprecated from Smarty, use registered plugins to properly insulate presentation from the application code.

Source

If you include what you are trying to do in your phpfile.php, we can help you write a plugin function.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文