【问题标题】:Symfony 1.4 Doctrine: How to call a function in the template page?Symfony 1.4 Doctrine:如何在模板页面中调用函数?
【发布时间】:2023-03-05 07:38:02
【问题描述】:

在 symfony 1.4 学说中,我们如何在模板页面中调用一个 php 函数。假设我想在模板页面中调用函数 add(),我应该在哪里定义函数 add()?我会在操作页面中执行此操作吗?我们可以在操作页面中定义函数吗?

等待快速回复

【问题讨论】:

  • 为什么需要模板中的函数?为什么不在动作中运行函数,然后将结果作为变量传递给模板
  • 我需要在模板页面中完成 5-6 次特定任务。因为它在循环中。我正在构建一个时间表模块,并且需要将课程安排在网格中。所以需要为每一行分别调用timetable()函数
  • 尽量避免“等待快速回复”、“请尽快回答”;每个人都想要一个快速的答案,最好不要显得不耐烦:)

标签: php symfony1 symfony-1.4


【解决方案1】:

你可以使用助手。例如:

apps/yourapp/lib/helper/myNewHelper.php

<?php

 if (!function_exists("yourfunc"))
    {

     function yourfunc($variable){

         // Your code here

                                }
        return $variable;
                               }
    }
?>

例如在模板中

apps/yourapp/modules/yourmodule/templates/indexSuccess.php

<?php use_helper('myNew'); ?>

<?php echo yourfunc($data->getSomeData()) ?>

【讨论】:

    【解决方案2】:

    您不应该在模板内执行操作。为此,您应该将代码分隔为小的components。在您的 cicle 中(在这种情况下为 foreach,可能在您的 cicle 中):

    <?php foreach($array => $param): ?>
        <?php include_component('module', 'action', array('param' => $param));
    <?php endforeach ?>
    

    然后,在您的 components.class.php 中执行您的 timetable($param); 函数,以部分显示结果。

    【讨论】:

    • 同样,如果没有需要运行的业务逻辑,部分可能就足够了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多