developer tip

symfony2 doctrine2에서 var_dump를 사용하는 데이터가 너무 많습니다.

copycodes 2020. 8. 21. 07:56
반응형

symfony2 doctrine2에서 var_dump를 사용하는 데이터가 너무 많습니다.


약 40 개의 엔티티와 많은 양방향 관계가 있습니다. var_dump ($ user) 또는 모든 엔티티를 사용할 때마다 브라우저가 너무 많은 배열 및 변수 데이터로로드되면 충돌이 발생합니다.

나는 무엇이 문제인지를 원한다.

데이터가 잘 삽입되고 있습니다. 프로덕션에서 문제를 일으킬 수 있습니까?


var_dump ()Doctrine Common에서 제공 하는 디버그 메서드 dump ()로 바꿉니다 .

\Doctrine\Common\Util\Debug::dump($user);

단일 개체 및 Doctrine 컬렉션에 대해 작동하며 브라우저 표시 문제를 방지해야합니다.


잘 포맷 :

echo '<pre>';
\Doctrine\Common\Util\Debug::dump($user, $recurciveLevelToDisplay);
echo '</pre>';

간단하고 쉬운 예.

var_dump(serialize($Object));

Symfony <2.6

\Doctrine\Common\Util\Debug::dump($variable, $depth);프록시 정보없이 교리 출력을 표시 하는 사용할 수 있습니다 .

Symfony> 2.6

심포니 2.6 이상을 사용하고 있다면 dump(). 형식이 잘 지정되고 색상이 지정된 출력을 표시하며 행을 동적으로 확장 / 숨길 수 있습니다.여기에 이미지 설명 입력


문제는 양방향 관계에서 두 엔티티가 서로에 대한 링크가 있으므로 entity1을 표시하는 동안 var_dump는 entity1 자체를 포함하여 루프를 제공하는 entity2의 모든 속성을 인쇄해야한다는 것입니다.


get_object_vars ()는 시각화도 향상시킵니다.

echo "<pre>";
\Doctrine\Common\Util\Debug::dump(get_object_vars($user));

Symfony 2.6에서는 이제 컨트롤러에서 dump ($ var)를 사용하고 나뭇 가지에서 {{dump (var)}}를 사용할 수 있습니다.

이것을 AppKernal.php 파일의 array ( 'dev', 'test') 섹션에 추가하십시오.

$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();

dump ($ user)를 사용하면 Symfony Profiler에서 완벽한 결과를 볼 수 있습니다! 행운을 빕니다


그냥 echo serialize ($ user);

참고 URL : https://stackoverflow.com/questions/11902099/too-much-data-with-var-dump-in-symfony2-doctrine2

반응형