在发送到模板之前清除变量

时间:2010-08-26 17:34:59

标签: php templates variables symfony1

在我目前正在工作的项目中,我创建了一个生成csv文件的操作。

以下是我当前的一些模板代码,它可以即时生成csv文件:

<?php header('Content-Disposition: attachment; filename="file_'.date("Y-m-d_H-i",time()) .'.csv"'); ?>
Branch:;<?php echo $branch; ?>;

变量$branch需要在csv文件上显示一些格式。目前,所有的清洁/格式化工作都是在动作本身完成的,但我知道它不是最合适的地方。

我应该在包含该操作的文件上创建一个私有辅助功能,还是建议一个更合适的地方?

请注意,我想避免在模板上执行清理/格式化工作,因为有些工作非常广泛。

3 个答案:

答案 0 :(得分:0)

您可以采取以下几种方式之一。

但最“symfony”的方式是create a validator,并在doClean()方法中实现您的格式。

答案 1 :(得分:0)

为什么不在/ lib / model目录中创建一个类。 Symfony会自动加载它,您可以在代码中开始使用它。

将清理函数放在该类中,并从模​​板中调用它。

例如/lib/model/doctrine/cleanup.class.php

class cleanup
{
    public function cleanitup($txt) { // docleanup }
{

//$cleaner = new cleanup();
//$cleaner->cleaneitup($foo);

答案 2 :(得分:0)

您还可以创建帮助程序(帮助程序专为此类操作而设计)。

  1. 在lib / helper目录中创建一个文件stuffHelper.php
  2. 中添加你的函数clean_stuff()
  3. 使用模板中的use_helper('stuff')加载它
  4. 模板中的echo clean_stuff($ myStuff)
  5. 但不是在模型中,它是一种视图方法!