2017-03-17 136 views
0

我是symfony的新手,我正在寻找一种“打印语句”。在我只用java编程之前,我可以看到并跟踪IDE内部“控制台输出”上的代码。基本上我使用的是打印系统symfony中的打印语句

什么可以等同于symfony。例如

$user = $this->getDoctrine() 
     ->getRepository('AppBundle:User') 
     ->findOneById($id); 

我可以做这样的事情:

回声$用户,控制器里面?看到结果的地方

或者我应该八方通渲染$用户:

return $this->render('FOSUserBundle::edit.html.twig', array(
     'user' => $user, 
     'form' => $form->createView() 
    )); 

那么我只能看到在edit.html

结果是唯一的出路? (使用render)

后来,我想用PHPUnit的,但在现阶段,我想从基础

谢谢你开始!

+0

'var_dump($ user-> toArray());'应该工作。 – CodeGodie

回答

0

是的,你可以:

public function fAction(Request $request){ 

    // ... 

    $user = $this->getDoctrine() 
      ->getRepository('AppBundle:User') 
      ->findOneById($id); 

    var_dump($user); exit; 

    // or ... 
    exit(\Doctrine\Common\Util\Debug::dump($user)); 

    // or if you've installed VarDumper component (see below): 
    dump($user, $anotherUser, $request); 
    exit; 

    // ... 

    } 

尝试安装VarDumper组件,并使用其dump()函数。

+0

谢谢您的建议! – andreahg

+0

我安装了VarDumper,并尝试了转储功能,但它没有工作。我安装了使用作曲家,并且我在我的控制器中添加了使用Symfony \ VarDumper;但是信息没有显示。在AppKernel中注册了“if”$ bundle [] = new Symfony \ Bundle \ DebugBundle \ DebugBundle();但未注册$ bundles =数组( – andreahg

+0

)您安装了什么版本的Symfony?2.6,2.7,...?(尝试使用php app/console -V) –

0

在脚本中间打印用于调试目的的变量有很多种方法。 其中之一是使用var_dump()

以下代码将转储您的变量并终止脚本。

var_dump($users); 
die(); 
+0

我试过了,但我仍然有一些问题。我将它添加到函数中,并且每当我进入route/list时函数被调用,函数呈现给html页面list.html.twig在哪里将显示结果(var_dump($ users))?我应该刷新html页面?此外,当我刷新页面(list.html.twig)我的浏览器冻结,我无法做任何事情,我需要重新启动浏览器 – andreahg