Symfony2,对象集合上的 print_r 永远不会完成

Posted

技术标签:

【中文标题】Symfony2,对象集合上的 print_r 永远不会完成【英文标题】:Symfony2, print_r on collection of objects never completes 【发布时间】:2013-11-03 08:33:23 【问题描述】:

我还是 Symfony2 的新手,我正在努力挣扎。我实际上想要一个正确的答案来回答这个问题:Symfony2 Sessions > Store & Retrieve array/collection of items in session,但与此同时,我不得不使用 $_SESSION 求助于一些“脏”的 php。但是,我似乎遇到了一个障碍,我的功能永远不会完成。我很确定这是因为问题实体与测验实体有多对一的映射(所以测验有问题,每个问题都有一个测验,有问题等,等等,坏循环),但我没有知道如何解决这个问题。我的代码如下所示:

public function nextQuestionAction()

    $data = $this->getRequest()->request->all();

    if (!isset($_SESSION['questions']))
    
        $quiz = $this->getDoctrine()
            ->getRepository('CriticalReadingQuizBundle:Quiz')
            ->find($data['quiz_id']);

        $questions = $quiz->getQuestions();

        print_r($questions); die();

        $_SESSION['questions'] = $questions;
        $question = $questions[0];
    
    else
    
        foreach($_SESSION['questions'] as $key => $question)
        
            if ($question['id'] == $data['question_id'])
            
                if(isset($_SESSION['questions'][$key+1]))
                    $question = $_SESSION['questions'][$key+1];
                else
                
                    unset($_SESSION['questions']);
                
            
           
    

    return $this->createJsonResponse($question);

我输入了 print_r($questions);死();看看我在我的问题中得到了什么,但毫不奇怪,这也没有完成。我知道正在做/错过一些愚蠢的事情,但我不知道那是什么。任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

print_r() 在这种类型的嵌套对象上可能会严重崩溃,甚至不会输出错误。你可以试试print_r($questions->toArray())

【讨论】:

感谢您的反馈,虽然您的建议不起作用(不是您的错,为了简化,我的代码看起来与发布的内容有些不同),但我确实找到了一个似乎工作得很好的解决方法.

以上是关于Symfony2,对象集合上的 print_r 永远不会完成的主要内容,如果未能解决你的问题,请参考以下文章

Symfony2文件上传获取原始文件名

液体中的 Print_r 等效项

symfony2 实体、存储库、服务混乱

从 Symfony2 中的控制器访问集合表单字段

Symfony2:集合中的单选按钮

Symfony2 - 表单集合 delete_empty 失败