2014-04-10 3 views
0

HtmlHelper를 사용하여 태그를 닫을 수 없다면이 방법이 유용한 이유를 설명 할 수 있습니까?CakePHP HtmlHelper 닫기 태그

// No text specified. 
<?php 
echo $this->Html->tag('span', null, array('class' => 'welcome')); 
?> 

// Output 
<span class="welcome"> 

이상적인 세계에서 "유용성"이 사용되어 어떻게에 따라 같은 </span>

답변

2

아니라, 닫는 태그를 생성 할 수있는 방법이있을 것입니다.

먼저 태그 기능이 내부에있는 문자열 (또는 요소)을 둘러싸 기 때문에 HtmlHelper->closeTag 기능이 없습니다. 예 Html 헬퍼가 열리고 함수 내에서 태그를 닫을 경우 closeTag 기능을 갖는에 아무 소용이 정말 없다

echo $this->Html->tag('span', "i'm a span", array('class' => 'welcome')); 

// Output 
<span class="welcome">i'm a span</span> 

.

분명히 닫지 않은 <span> 태그는 그다지 유용하지 않으며, 그 예는 일부 사용법을 보여줄 수있는 가장 좋은 것은 아닙니다. (나는 그것이 케이크 문서에있는 것이지 비난하지 않는다는 것을 알고 있습니다.)

HTML은 XML이 아니므로 닫히지 않은 태그가 나타날 수 있습니다 (HTML specs 확인).

영역,베이스, BR, COL, 명령, 삽입, HR, IMG, 입력 Keygen은 링크, 메타, PARAM : 링크에 보이드 요소로 정의 것의 목록은 , 소스, 트랙, WBR

리틀 방법은 해당 링크 참조 아래,

무효 요소는 시작 태그가 기록; 끝 태그는 void 요소에 지정하면 안됩니다.

Soooo .... 그렇게하고 싶을 수도 있습니다. 복잡하고 문자 수가 많은 값 비싼 명령을 사용하여 <br>을 작성할 수 있습니다. 어쩌면 전체 .cpt보기를 php로 작성하고 일반 문자열의 에코가 없으면 HtmlHelper의 장점을 가진 순수한 PHP 만 (예 : 탈출 HTML 문자) 작성하십시오.

그래서 이론적으로, 당신은

echo $this->Html->tag('br', null, array()); 
echo $this->Html->tag('link', null, array()); 

을 할 수 있으며, 그 유효 태그 것이다. 왜 그걸 할거야? * 어깨를 으 * 누가 알지. 그러나 당신은 선택권이있는 것이 좋지 않은가?

또한 HtmlHelper는 아마도 internaly라는 함수를 사용하여 다른 태그를 쓸 수 있습니다. 제 말은 아마도 HtmlHelper->img()HtmlHelper->tag('img', null)을 사용하고, 태그 기능은 공개되어 있기 때문에 겉으로보기에는 쓸모없는 옵션을 얻게됩니다.

나는 아직도 "유용성"만큼 소리가 나지 않는다는 것을 안다.하지만 그것은 작은 것들이다.

+1

고마워. 나는 당신의 마지막 요점이 가장 유용한 "추측"이라고 생각합니다. 분명히 당신은 이것에 약간의 생각을 두었습니다. 그래서 고마워요. 아주 잘 생각했습니다. – zmonteca