본문으로 바로가기

PHP 기본 문법

category 웹코딩/PHP 2018. 6. 4. 11:00

PHP의 기본적인 문법에 대하여 알아봅니다.

PHP 기본 구문

PHP는 HTML 모드를 기준으로 해석되다가 PHP의 시작을 알리는 시작태그를 만나면 PHP 모드로 전환하여 해석된다. 이런 방식의 해석은 시작과 끝 태그 밖에 있는 부분은 PHP 해석기가 무시하게 되므로, PHP가 어떠한 문서에도 포함될 수 있는 근거가 된다.

<p>이 부분은 PHP 해석기가 무시한다.</p>
<?php echo '이 부분은 PHP 해석기가 해석한다.'; ?>

PHP의 시작태그 와 끝태그

시작태그 끝태그 설명
<?php ?> XML과 구분하기 위한 방법
<? ?> 간소화된 방법으로 PHP의 기본설정은 짧은 태그를 허용하지 않는다. php.ini 파일의 short_open_tag = On 으로 변경하면 사용가능하다.
<% %> ASP 방식
<script language="php"> </script> 스크립트 방식
<?php echo 'XHTML나 XML 문서와 호환시키려면, 이렇게 쓰세요'; ?>

<script language="php">
    echo '어떤 에디터 (프론트페이지같은)는 
          처리 명령을 좋아하지 않습니다';
</script>

<? echo '이런 형태가 제일 간단한 SGML 처리명령입니다'; ?>
<?= expression ?>은 "<? echo expression ?>"을 간단히 쓴 모양입니다

<% echo ("ASP스타일 태그를 쓸 수도 있습니다"); %>
<%= $variable; # 이것은 "<% echo . . ." %>을 간단히 쓴 모양입니다

가장 보편적인 방식은, 첫번째 방식이며, 권장되는 방식이다.


두번째의 단축형 태그를 사용할 경우, php.ini 설정 파일 지시어 short_open_tag를 활성화하거나, php를 --enable-short-tags 옵션으로 설정해야 사용할 수 있다.


ASP 형식 태그를 사용할 경우, php.ini 설정 파일 지시어 asp_tags를 활성화 했을 경우에만 사용할 수 있다.


위 예제를 실행했을때, 아무것도 출력하지 않거나, 다운로드 할 것인지 묻거나, 모든 내용이 텍스트 문서처럼 보였다면, 해당 서버에서 PHP가 작동하지 않거나 제대로 설정되지 않은 것이다.

PHP 명령 구분

문장의 마지막에 마침표(.)를 찍듯이 PHP도 각 명령 구문 끝을 세미콜론(;)으로 종료해야 한다.

  • 명시적으로 문장의 끝을 표현해주면, 코드의 가독성과 명확성을 높여주며, PHP 해석기들이 문맥을 파악하지 않고도 쉽게 문장을 구분할 수 있게 된다.
  • 문장이 하나 뿐이거나 문장의 바로뒤에 끝 태그(?>)가 있다면 PHP는 자동으로 세미콜론을 적용한다.
<?php
    echo 'This is a test';
?>

<?php echo 'This is a test' ?>

<?php echo '마지막 닫기 태그를 생략합니다';
파일의 마지막에서 PHP 블록의 끝맺음 태그를 생략할 수 있으며, 때로는 유용합니다. include나 require를 사용할 경우, 원하지 않은 공백이 파일 마지막에 들어가지 않게 함으로써, 나중에 추가 응답 헤더를 추가할 수 있습니다. 또한 출력 버퍼링을 사용할 경우에도 포함한 파일들에 의해서 각 파트의 마지막에 원하지 않은 공백을 피할 수 있으므로 도움이 됩니다.

PHP 주석

PHP는 C와 Perl과 같은 형식의 주석을 제공하며, PHP 해석기는 이를 만나면 무시한다.

주석 방법 설명
// 한 줄 주석 처리
# 한 줄 주석 처리
/* */ 여러 줄 주석 처리
<?php
echo 'This is a test';  // 한줄짜리 c++ 스타일 주석

/* 여러줄의 주석
   이줄까지 주석처리 된다 */
echo 'This is yet another test';

echo 'One Final Test';  # 쉘 형식의 한줄짜리 주석
?>

PHP 빈값으로 간주하는 것들

PHP의 조건문이나 그 밖의 경우에 변수에 담긴 값들을 검사하는 경우에 알아야 하는 것들이다.

  • "" : 빈문자열
  • 0 : 정수 0
  • "0" : 문자열 0
  • NULL
  • FALSE
  • array() : 빈배열
  • var $var; : 클래스안에서 값없이 선언된 변수

'웹코딩 > PHP' 카테고리의 다른 글

PHP 문자열  (5) 2018.06.07
PHP 상수  (0) 2018.06.06
PHP 변수  (1) 2018.06.05
PHP 기초  (0) 2018.06.01