[Pratical BEAR.Sunday] 리소스 단위로 렌더기를 변경하는 방법
5624 단어 BEAR.Sunday
자원에는 표시를 위한 자원 회수소가 있다.
문자열이 평가되면 자원은 회답(문말[※ 1])으로 표시됩니다.
일반적으로 응용 상하문([※ 2]) 단위로 기본 렌더기를 선택하거나(예를 들어
app
상하문에서 사용JSONレンダラー
등) 자원 단위로 렌더기를 변경할 수 있습니다.예를 들어 oEmbed HTML이 포함된 웹API를 되돌려주는 것을 개발했다면 HTML 템플릿으로 JSON 응답의 일부 값만 되돌려주고 싶은 경우도 있다.
리소스 단위로 렌더기 변경하기
간단한 예로 고려하다.API를 통해 다음 JSON 응답을 반환합니다.
{"html":"<html><h1>this is embed. bar<\/h1><\/html>"}
기본적으로 다음과 같이 모두 JSON입니다..html 키의 값을 Twig 템플릿으로 렌더링된 HTML 보기로 변환합니다.
샘플 항목
kumamidori/ExampleChangeRenderer
분류도
이루어지다
HTML 리소스가 포함된
RenderInterface
에 TwigRenderer
바인딩class Embed extends ResourceObject
{
/**
* @Inject
* @Named("html")
*/
public function setRenderer(RenderInterface $renderer)
{
return parent::setRenderer($renderer);
}
public function onGet()
{
//・・・
}
}
API 리소스에 포함된 HTML 리소스에 대한 문자열 평가namespace Kumamidori\ExampleChangeRenderer\Resource\Page\Api;
//・・・
class Example extends ResourceObject
{
//・・・
public function onGet()
{
$embed = $this->resource->get->uri('page://self/embed')->eager->request();
$this['html'] = (string) $embed; // < 文字列評価する
return $this;
}
}
보충: 렌더링으로 인한 문자열 평가 시간의 차이각 요소에 대해 문자열 평가
__toString()
를 해야 하기 때문에 각각 주입된 렌더링기로 렌더링어플리케이션 컨텍스트 - Qita
polidog/Polidog.Todo
Reference
이 문제에 관하여([Pratical BEAR.Sunday] 리소스 단위로 렌더기를 변경하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kumamidori/items/68262ad061a240167e38텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)