2017-10-03 4 views

답변

3

"이것은 단순히 동일한 리소스가 HTML (index.html.twig), XML (index.xml.twig), 또는 기타로 렌더링해야하는 경우에 사용 조직 전술이다 체재."

이렇게 사용자 선호도는 좋지만 두 가지 방법 중 하나를 따르는 좋은 표준입니다.

4

Symfony에서는 다양한 형식을 자동으로 제공 할 수 있습니다. 예를 들어 test.json.twig, test.xml.twig과 같은 파일을 만들 수 있습니다. 컨트롤러에 모든 확장을 정의하면 한 번의 작업으로 모든 형식을 제공 할 수 있습니다. 예를 들어

이 같은

/** 
* @Route("/hello/{name}.{_format}", defaults={"_format"="html"}, name="_demo_hello") 
* @Template() 
*/ 
public function helloAction($name) { 
    return array('name' => $name); 
} 

뭔가. 따라서 경로의 형식을 사용하여 응답 형식을 정의 할 수 있습니다.

+0

그래서 나뭇 가지를 슬림 앱으로 가져 오거나 나뭇 가지 API를 사용하는 경우 .html.twig를 사용하면 장점이 없습니다. – moe

+0

가지 템플릿과 형식을 사용하는 일반적인 방법입니다. 그래서 그것을 사용해야합니다. 프로그래머에게는 파일의 형식을 확인하는 것이 좋습니다. 그러나 그것을 사용하는 방법은 선택입니다. 그래서 파일 이름에 형식을 사용하는 것을 선호합니다. – Stony

3

유일한 차이점은 자동 이스 케이 핑의 동작입니다.

var 변수에 <div>I'm happy</div>이 포함되어 있다고 가정 해보십시오.

index.twig에서 {{ var }}<div>I'm happy</div>을 렌더링합니다.

index.html.twig에서 {{ var }}&lt;div&gt;I&#039;m happy&lt;div&gt;

index.js.twig에서 {{ var }} 등등 \x3Cdiv\x3EI\x27m\x20happy\x3Cdiv\x3E

그리고 렌더링합니다 렌더링됩니다.

항상 XSS 취약점을 피하기 위해 올바른 확장명을 사용하고이 확장명의 암시 적 보호와 겹치기 때문에 항상 |raw을 현명하게 사용하십시오.