2010-06-11 9 views
1

다른 구문과 동일한 결과가 나타나는 이유는 무엇입니까? 예를다른 구문과 동일한 결과가 나오는 이유는 무엇입니까?

# Example 1 
if($myCondition == true) : 
    #my code here 
endif; 

if($myCondition == true) { 
    #my code here 
} 

# Example 2 
foreach($films as $film) : 
    #my code here 
endforeach; 

foreach($films as $film) { 
    #my code here 
} 
또한

지금은 연령대에 <?=을 이용하여 제가 지금은 사용되지 않습니다 이해하고 나는이 사건과 왜 <?php echo을 사용해야 들어

? 매번 그것을 써야하는 것이 훨씬 더 성가시다.

귀하의 의견은 무엇입니까?

+0

때문에 기본적으로 사용되기 때문에

<?php echo

훨씬 더 휴대용 '몇 번 이상, 템플릿 엔진을 사용하십시오. 같은 파일에 html과 php 코드를 갖는 것은 매우 지저분합니다. – ThiefMaster

+1

@ThiefMaster PHP 자체는 템플릿 엔진입니다. '{$ smartySucks}'또는''상관 없습니다. 논리를 템플릿에 혼합하기 시작할 때만 더러워집니다. – Gordon

+0

@Gordon 예제에 대한 어떤 것이 편향된 것처럼 보입니다. p –

답변

1

콜론 endif, endforeach 등 구문은 Alternative Syntax으로 알려져 있습니다. 나는 왜이 기능이 존재하는지, 그것이하고 지원되는지 확실하게 말할 수 없다. 나는 대안 마크 업이 HTML 마크 업의 중간에 닫는 중괄호보다 endif/endforeach를 선택하기 쉬운 템플리트 목적을 위해 더 많이 사용된다는 것을 알았다고 말할 수 있습니다.

<?=은 짧은 열린 태그로 알려져 있습니다. 여기에서 사용에 관해 필요한 모든 정보를 찾을 수 있습니다. Are PHP short tags acceptable to use?

1

왜 결과가 달라야합니까? 브래킷이없는 것은 alternative syntax for control structures이며 매우 유용합니다. HTML을 다룰 때. 짧은 열린 태그를 비활성화 할 수 있습니다 당신은`작성해야하는 경우 PHP 5.3

+0

이 기본적으로 비활성화되어 있지만 여전히 지원 되나요? – Lizard

+0

@Lizard 더 이상 사용되지 않습니다. 그러나 그것은 제거되지 않을 것입니다. http://stackoverflow.com/questions/2413661/php6-is-short-open-tag-removed-or-deprecated-or-neither에서 제공되는 링크를 참조하십시오. – Gordon