뷰파일위한 PHP 문법대안 Alternate PHP Syntax for View Files

CodeIgniter 의 템플릿엔진 을 사용하지 않는다면, 아마 View 파일에서 순수 PHP 를 쓰실 것입니다. 뷰 파일에서 PHP 코드를 최소화 하기 위해서 루프 등 코드 블록에서는 PHP 대체 문법을 사용하시고, echo 문의 경우에는 단축 태그를 사용하시길 권장합니다. 여러분이 이런 문법에 익숙하지 않았다면, 이 문법은 여러분의 코드에서 대괄호(brace)를 제거해주고 echo 문을 제거해줄것입니다.

자동화된 짧은 태그 지원 Automatic Short Tag Support

Note

본페이지에서 설명하는 문법이 당신의 서버에서는 작동하지 않는다면, 아마 php.ini 파일에서 “짧은태그(short tags)” 가 비활성화(disabled)되어있기 때문일것입니다.CodeIgniter는 만약 서버에서 지원하지 않는다고해도 본페이지의 문법을 사용할 수 있도록 옵션을 제공합니다. 해당 옵션을 적용하면 짧은태그(short tags)를 즉석해서 다시 쓸것(rewrite)입니다. 이 옵션은 config/config.php 파일에서 설정 할 수 있습니다.

만약 이 옵션을 사용하지 않으시면, 뷰(View)파일에서 PHP 에러가 발생했을 때, 에러메시지와 줄번호가 정확하게 표시되지 않을것입니다. 대신에 모든 에러는 eval() 에러처럼 표시될것입니다.

에코문 대체 Alternative Echos

일번적으로 에코문을 사용하여 변수를 출력하려면 아래와 같이 할 것입니다:

<?php echo $variable; ?>

대체문법은 아래와 같습니다:

<?=$variable?>

대체 분기,루프 구조 Alternative Control Structures

if, for, foreach 및 while 과 같은 분기, 루프 구조 또한 단순한 구조로 사용될 수 있습니다. 아래는 foreach 문의 예제입니다:

<ul>

<?php foreach ($todo as $item): ?>

        <li><?=$item?></li>

<?php endforeach; ?>

</ul>

보시는 바와 같이 중괄호가 없고 대신 괄호 닫는부분이 endforeach 로 변경되었습니다. 앞에 나열된 각종 분기,루프 구조는 유사한 구조를 가집니다.닫는괄호 부분은 endif, endfor, endforeach, endwhile 를 사용하시면 됩니다.

또한 각 구조 뒤에 세미콜론이 아닌 콜론을 사용한다는점을 주의하세요(끝부분 제외).

if/elseif/else 문을 사용하는 또 다른 예제입니다. 콜론에 주목해 주세요:

<?php if ($username === 'sally'): ?>

        <h3>Hi Sally</h3>

<?php elseif ($username === 'joe'): ?>

        <h3>Hi Joe</h3>

<?php else: ?>

        <h3>Hi unknown user</h3>

<?php endif; ?>