[php] PHP var_dump ()에서와 같이 Smarty에서 변수를 디버깅하는 방법

템플릿 안에 변수가 있는데 어디에 할당했는지 알 수 없습니다. 특정 변수 안에 무엇이 있는지 알아야합니다. 예를 들어 smarty에이라는 변수가 있다고 가정 해보십시오 member. 시도 {debug}했지만 작동하지 않았으며 팝업이 표시되지 않았습니다.

var_dump()템플릿 내부 와 같은 것을 사용하여 smarty 변수를 어떻게 출력 / 디버그 할 수 있습니까?



답변

{php}태그 를 사용할 수 있습니다

방법 1 (Smarty 3.1 이상에서는 작동하지 않음) :

{php}

$var =
$this->get_template_vars('var');
var_dump($var);

{/php}

방법 2 :

{$var|@print_r}

방법 3 :

{$var|@var_dump}


답변

이것은 작동해야합니다 :

{$var|@print_r}

또는

{$var|@var_dump}

@는 배열이 모든 것에 대해 수정자를 실행하기 위해 필요합니다. 그렇지 않으면 각 요소에 대해 수정자를 수행합니다.


답변

그만한 가치가 있다면 변수에 대해 -esque 출력 {$varname|@debug_print_var}을 얻을 수 있습니다 var_dump().


답변

.tpl에서 {debug}를 사용하고 소스 코드를 확인하십시오.


답변

새로운 Smarty에서는 다음과 같습니다.

<pre>
{var_dump($variable)}
</pre>


답변

Smarty Session을 사용해보십시오.

{$smarty.session|@debug_print_var}

또는

{$smarty.session|@print_r}

출력을 아름답게하려면 <pre> </pre>태그 사이에 사용하십시오


답변

더 아름다운 것을 원한다면 나는 조언 할 것이다.

{"<?php\n\$data =\n"|@cat:{$yourvariable|@var_export:true|@cat:";\n?>"}|@highlight_string:true}

단지 대체 yourvariable을 당신의 변수