如何在symfony2中创建自定义或辅助函数,如codeigniter?我应该留在哪里?

Cod*_*ode 1 symfony

我可以在symfony2中创建像codeigniter一样的辅助函数吗?

我想要一个应该在pre标签内打印数组的函数

public function print_in_pre_tag($array) {
    echo "<pre>";
    print_r($array);
    echo "</pre>";    
}
Run Code Online (Sandbox Code Playgroud)

我经常打印那种格式的数组来检查值.

请提出一些解决方案,让我知道我在哪里可以保留这个功能?

编辑1:如果我调用print_in_pre_tag($ array); 在
上面的任何控制器里面都应该调用.

Bab*_*aga 8

您应该为此创建一个服务(codeIgniter中的帮助程序).

在捆绑包中创建一个名为Services的文件夹.在该文件夹中创建一个名为"PrintManager.php"的文件(或者您想要调用它 - 但要确保第一个是大写)

然后在PrintManager.php里面放入:

namespace Company\MyBundle\Services;

class PrintManager {

public function print_in_pre_tag($array) {
    echo "<pre>";
    print_r($array);
    echo "</pre>";    
} }
Run Code Online (Sandbox Code Playgroud)

然后在您的services.yml中设置文件:

参数:print_manager.class:Company\MyBundle\Services\PrintManager(注意,没有.php扩展名)

services:print_manager:class:"%print_manager.class%"

然后在你的控制器中你可以像这样调用它:

$ printManager = $ this-> get('print_manager');

$ printManager-> print_in_pre_tag($阵列);

顺便说一句,你能做的最好的事情就是让你的服务处理功能部分,让它将结果返回给你的控制器,然后从那里开始处理结果.

喜欢:$ text = $ printManager-> print_in_pre_tag($ array);