php 문법

hanyoko·2023년 6월 27일
0

PHP

목록 보기
3/15
post-thumbnail

PHP 문법

PHP 코드 영역

PHP 코드는 웹 페이지의 어느 부분에나 위치할 수 있다.

  • PHP 파서가 PHP 코드를 인식하기 위해서는 그 시작과 끝을 알려줄 필요가 있다.
  • PHP 코드 영역을 알려주는 방식에는 다음과 같이 여러 가지 스타일을 사용할 수 있다.

문법

  1. PHP 권장 스타일 : <?php ... ?>

  2. HTML 스크립트 스타일 : <script language = "php"> ... </script>

  3. SGML 스타일 : <? ... ?>

  4. ASP 스타일 : <% ... %>

PHP 권장 스타일과 HTML 스크립트 스타일은 그 어떤 상황에서도 정확히 인식될 것이다.
하지만 SGML 스타일과 ASP 스타일은 php.ini 설정 파일의 특정 태그를 활성화했을 경우에만 정확히 인식될 것이다.

따라서 서버별 이식성 문제 등을 피하기 위해서라도 PHP 권장 스타일을 사용하는 것이 좋다.

<?php
    echo "PHP 공부하기";
?>

PHP 문법

C언어처럼 PHP 명령문도 마지막은 세미콜론(;)으로 끝난다.

<?php
    echo "PHP 공부하기";
?>

<?php
    echo "PHP 공부하기"
?>

💡 PHP 코드가 종료되면 자동으로 세미콜론을 적용해준다.

PHP 코드 영역을 나타내는 종료 태그도 생략할 수 있다.

<?php
    echo "PHP 공부하기";

❗ but, 정상적으로 동작하겠지만, 가독성이나 예상치 못한 상황을 위해 세미콜론(;)과 종료 태그를 모두 사용하는 것이 좋다고 한다.


PHP 주석

주석(comment)이란 코드 내에 삽입된 일종의 설명문

  • 주석은 작성자나 다른 개발자가 나중에 코드를 수정할 때 참고할 수 있으며, 웹 페이지 개발 시 디버깅에도 활용된다.
  • 이러한 주석은 PHP 코드의 어느 부분에라도 작성할 수 있으며, 웹 브라우저의 동작에는 전혀 영향을 미치지 않는다.

PHP 주석은 다음과 같이 여러 가지 스타일을 사용할 수 있다.

  1. 한 줄 C언어 스타일 : //주석문
  2. 여러 줄 C언어 스타일 : /*주석문*/
  3. 한 줄 쉘 스타일 : #주석문

PHP 주석은 줄의 끝이나 PHP 코드 영역을 나타내는 종료 태그 중 먼저 나오는 부분까지만 주석으로 처리한다.

따라서 PHP 코드 영역을 나타내는 종료 태그 이후에 나오는 HTML 코드는 주석이 아닌 정상적인 코드로 인식된다.

<?php
    // C언어 스타일의 한 줄 주석

    /*
        C언어 스타일의 여러 줄 주석
    */

    # 쉘 스타일의 한 줄 주석
?>

<p>PHP 주석 넣는 방법

    <?php /* echo "PHP 공부하기 " */ ?>

화이팅!</p>

PHP 주석은 '?>'인 종료 태그의 직전까지만 적용되며, 그 뒤에 나오는 화이팅! 이라는 문자열과 </p> 태그는 정상적으로 인식된다.


여러 줄 주석 안에 또 다른 주석 삽입

PHP에서는 여러 줄 주석 내부에 또 다른 한 줄 주석을 삽입할 수 있다.

/* 여러 줄

    // 이렇게 두 줄 주석 안에 또 다른 한 줄 주석을 삽입할 수 있다.

    # 이렇게 두 줄 주석 안에 또 다른 한 줄 주석을 삽입할 수 있다.

주석입니다. */

여러 줄 주석 내부에 또 다른 여러 줄 주석을 삽입할 수는 없다.

1. /* 여러 줄

2.     /* 또 다른 여러 줄 주석입니다. */

3. 주석입니다. */

여러 줄 주석 안에 또 다른 여러 줄 주석을 삽입하게 되면, 삽입한 주석의 종료를 알려주는 1번 라인의 기호(/)를 바깥쪽 주석이 자신의 종료를 알려주는 3번 라인의 기호(/)로 잘못 인식하게 된다.

따라서 3번 라인은 주석으로 정상 인식되지 않으며, PHP 파서가 오류를 발생시킨다.
그러므로 PHP에서 여러 줄 주석(/* */)은 절대로 중첩하여 사용해서는 안 된다.


echo() 함수

함수 C언어의 printf() 함수나 C++의 cout 객체와 같이 HTML 스트림에 문자열을 출력해 준다.

  • echo() 함수는 실제 함수가 아니므로, 인수를 전달할 때 괄호(())를 사용해도 되고 생략할 수도 있다.
  • 가변 길이 인수와 같이 함수 문맥으로도 사용할 수 없다.
  • 하지만 두 개 이상의 인수를 전달할 때는 반드시 괄호를 사용해서는 안 된다.
  • PHP는 키워드, 클래스, 함수, 사용자 함수 이름의 대소문자를 구분하지 않는다.
  • 따라서 ECHO나 Echo를 사용해도 모두 같은 동작한다.
<?php

    echo "문자열을 출력합니다.<br>";

    echo ("인수를 전달할 때 괄호를 사용해도 괜찮다!<br>");

    ECHO "echo() 함수의 키워드는 대소문자를 구분하지 않는다!<br>";

    echo "첫 번째 인수, ", "두 번째 인수";

    //echo("첫 번째 인수, ", "두 번째 인수"); // 오류 발생

?>

<br>태그는 새로운 단락을 만들지 않고 줄을 나눠주는 HTML 태그
PHP에서 echo(), print(), isset() 등과 같이 실제 함수가 아닌 구문을 언어 구조(language construct)라고 표현한다.

0개의 댓글