PHP 문법 익히기

 

이번에는 PHP 문법에 대해서 배워 보도록 하겠습니다

 

 

1] 모드 구분하기

PHP는 2가지 모드로 동작합니다 HTML모드와 PHP모드가 있는데 PHP 문서는 기본적으로 HTML 모드로 동작하고 PHP 모드를

알려주는 시작 태그가 나오면 PHP 모드로 동작했다가 끝 태그가 나오면 다시 HTML 모드로 동작합니다

 

PHP 부분을 알려주는 시작 태그와 끝 태그

 

1. <?  ,  ?>          - 일반적인 방법

2. <?php  ,  ?>     - XMl과 구분하기 위한 방법

3. <script language="php">  ,  </script>  - 스크립트식 방법

4. <%  ,  %>        - ASP식 방법

 

1번 방법이 가장 쉽고 간단하기는 하나 XML을 쓸때 태그가 <?XML 이기 때문에 XML을 같이 사용하는 경우에는 컴퓨터가 태그를 보고 모드를 판단할때 PHP로 판단할 수 있기 때문에 2번 방법을 사용한다 하지만 XML을 함께 사용하지 않을 때에는 1번 방법을 사용하는게 좋다

3번과 4번은 자주 사용되지 않는다 하니 그냥 간단하게 알아두고 넘어가는게 좋을거 같다

 

 

2] 문장 구분하기

우리가 글을 쓸때 문장 마지막에 마침표(.)를 쓰듯이 PHP도 한 문장이 끝날 때 마다 마침표 역할을 하는 세미클론(;)을 반드시 써야합니다

 

 

 

3] 주석 달기

주석이라는 것은 코드에 덧붙여 놓은 해당 코드에 대한 설명입니다 주석에 아무리 코드를 쳐도 PHP는 주석이라 생각하여 그 코드를 무시합니다 그러므로 본인이 작성한 코드에 대한 설명을 달아주는 버릇을 들이는 것이 중요하다 생각합니다

 

주석을 다는 방법

 

//     -  한줄 주석 처리

#      -  한줄 주석 처리

/* */  - 여러 줄 주석 처리

 

 

 

주석을 사용해서 글을 써도 웹 브라우저에는 주석을 이용해서 쓴 글은 나오지 않는 것을 알 수 있습니다

 

 

4] 식별자

PHP에서 변수나 함수 같은 것들은 각자 구별이 가능한 이름을 가지고 있습니다 이것들의 이름은 규칙에 따라 짓는데 이렇게 만들어진 이름을 식별자라고 합니다 식별자의 이름을 정할 때 생각해야될 것은 '역할에 맞는 이름' 그리고 '중복되지 않는 이름' 그리고 '식별자 규칙을 따른 이름' 입니다

 

여기서 식별자 규칙은

 

1. 문자와 밑줄(-)로 시작한다

2. 두 번째 글자부터는 숫자, 문자, 밑줄이 가능하다

3. 밑줄 이외의 기호는 사용할 수 없다

4. 문자는 유니코드(한글포함)도 가능하다

5. 변수는 대소문자가 서로 구분된다

 

5가지가 있고 이 규칙에 맞게 이름을 정해야 됩니다

 

 

5] 변수

변수란 여라가지 값을 가질 수 있는 즉 여러 가지 값으로 변할 수 있는 수를 의미합니다

PHP에서 변수는 여러 가지 값을 기록해 둘 수 있는 메모리 공간에 이름을 붙여 둔 것을 의미합니다

변수에 담을 수 있는 것에는 진리값, 정수, 부동소수점수, 문자열, 배열, 객체, 리소스, 널과 같이 총 8가지의 종류가 있고 이러한 8가지 종류를 변수형이라고 합니다

변수를 쓸때에는 $ 이 기호를 앞에 무조건 쓰고 뒤에는 변수의 이름을 씁니다   ex) $name

 

 

6] 변수형의 종류와 설명

1. 진리값(boolean)

- 참(True)과 거짓(False) 두 가지 값만을 가지기 위한 변수형이며 PHP에서 거짓은 0을 뜻하고 0이 아닌 다른 모든 수가 참을 뜻합니다

 

2. 정수(integer)

- 수학전인 의미의 정수를 표시하는 변수형이다 십진수와 음수를 표시하는 것은 똑같으나 8진수에는 앞에 0을 붙여야 하고 16 진수에는 앞에 0x를 붙여 표현해야 합니다

           ex)

십진수  $a = 1234;

음수     $a = -1234;

8진수   $a = 0123;  (십진수로 83)

16진수 $a = 0x12;  (십진수로 18)

 

3. 부동소수점수(floating point numbers)

- 실수를 표현하면서 부동소수점 방식을 사용하는 수를 의미합니다 부동소수점 방식이란 소수점의 위치가 고정되있지 않다는 것을 뜻합니다 부동소수점 정밀도를 나타내는 유효값(가수)과 자릿수를 나타내는 지수로 표현됩니다 

ex)   (가수) X (밑수)^(지수)

 

4. 문자열(string)

- PHP에서 문자들을 표현하고자 할 때 문자열 형식을 사용합니다 문자열을 표시하는 방법에는 큰따옴표("), 작은따옴표('), 히어닥 문법과 나우닥 문법이 있습니다

 

5. 리소스

- 파일이나 데이터베이스 그리고 이미지 작업과 같은 외부적인 자원을 나타내는 데 사용하는 변수형이고 다른 값으로 변환하거나 하는 등 일체의 작업이 불가능합니다

 

6. NULL

- 아무 값도 갖지 않는 변수를 말합니다 변수에 아직 아무런 값도 할당하지 않았을 떄나 상수로 NULL을 직접 할당했을 때 그리고 unset 함수로 변수를 제거했을 때 해당 값을 NULL아러고 합니다

 

7. 배열

- 배열은 연관된 데이터를 모아서 관리하기 위해서 사용하는 데이터 타입이다 변수가 하나의 데이터를 임시로 저장하기 위한 것이라면 배열은 여러 개의 데이터를 저장하기 위한 것이라고 할 수 있다

 

8. 객체(객체 지향)

- 객체지향 프로그래밍은 데이터에 초점을 두고 객체라는 단위로 모든 처리를 표현해 가는 방법이다 여기서 객체는 기능과 속성으로 구성되어 있고 모든 사물을 기능과 속성을 가진 객체로 생각하자는 것이 바로 객체 지향 프로그래밍의 핵심입니다

 

 

7] 변수의 종류

1. 사용자 변수

-우리가 이름을 짓고 용도에 따라 만들어 사용할 수 있는 변수

 

2. 슈퍼 전역 변수

- 서버 종류, 버전 등이나 기타 환경에 따라 변하는 변수들로 이미 이름이 지어진 변수들입니다 이러한 변수들은 프로그램의 어디서든 해당 이름을 통해서 접근할 수 있습니다 슈퍼 전연 변수는 웹 서버의 설정값이나 서버 시스템의 환경 그리고 사용자의 입력과 관련한 변수들이 지정되어 있으며 이 변수들은 우리가 인위적으로 값을 수정하거나 일반 변수로 사용할 수 없습니다 슈퍼 전역 변수는 모두 벼열로 되어 있기 때문에 $_ENV[OS]와 같은 방법으로 변수에 접근할 수 있습니다

 

$_GET        -  HTTP GET 방식으로 넘어온 변수

$_POST      -  HTTP POST 방식으로 넘어온 변수

$_COOKIE   -  HTTP 쿠키 변수

$_FILES      -  업로드 시 파일 정보 변수

$_SESSION  -  세션 변수

$_SERVER   -   웹 서버와 PHP 환경에서의 환경 변수

 

3. 외부에서 넘어온 변수

- 사용자의 브라우저에서 작성된 값이 웹 서버에 전달된 변수입니다

 

 

8]변수의 범위

PHP에는 지역 변수와 전역 변수가 있습니다 지역 변수는 어떠한 일부분 영역에서만 적용되는 변수이고 전역 변수는 어느 영역이든 사용 가능한 변수입니다  함수 안에 전역 변수를 쓰려면 변수 앞에 global을 써야 전역 변수를 사용할 수 있습니다

 

함수는 함수만의 작업 영역을 갖고 있는데 이 작업 영역은 함수를 호출 할때 만들어 졌다가 함수의 처리가 완료되면 영역을 없애 버립니다 그러므로 함수 안에서 만든 변수의 값도 그대로 유지 되지 않습니다 이 때문에 정적(static)변수라는게 있는데 정적 변수는 함수 안에서 변수를 만들때 함수 처리가 완료 되어도 값이 유지 될 수 있게 해줍니다 함수 안에서 정적 변수를 만드려면 변수 앞에 static를 써줘야 합니다

 

 

9] 상수

항상 똑같은 값을 가지는 변하지 않는 수입니다 그래서 한번 설정하면 전역 변수처럼 사용할 수 있습니다 또한 변하지 않는 수이기 때문에 한번 설정된 값은 변경할 수 없습니다 상수는 변수처럼 $ 기호를 사용하지 않고 반드시 define() 함수를 이용하여 상수를 정의합니다

 

define("상수명","상수에 저장될 값");

'PHP' 카테고리의 다른 글

FORM 다루기  (0) 2017.04.12
PHP 문법 익히기(2)  (0) 2017.04.05
PHP 첫 소스 코드 작성  (0) 2017.04.01
PHP 개발환경 구축(텍스트 에디터)  (0) 2017.04.01
PHP 개발환경 구축(APM)  (0) 2017.03.31

+ Recent posts