PHP는 Personal Home Page의 약자로 정식 명칭은 PHP : Hypertext Preprocessor이다. 사용자의 요청에 따라서 HTML 등의 하이퍼텍스트(Hypertext) 문서를 동적으로 생성해 화면을 빠르게 만들 수 있다.
PHP의 특징은 아래와 같다.
- 무료로 사용가능한 오픈소스(Open Source)이다.
- 디버깅이 쉽다.
- 윈도우(Window), 리눅스(Linux) 그리고 Mac OS 등의 멀티 플랫폼을 지원한다.
- 서버 사이드 스크립트(Server-Side Script)언어로 Ruby나 Python 등의 언어와 유사하다.
- MySQL 등의 각종 데이터베이스를 지원한다.
- 객체지향(Object-Oriented) 언어이다.
작성 규칙
1
2
3
|
<?php /* 시작 태그이다. */
// 여기에 코드를 작성한다.
?> <!-- 종료 태그이다. -->
|
cs |
PHP 코드는 '<?php' 로 시작해서 '?>' 종료한다. 단순히 '<?'로 시작해서 '?>'로 종료할 수도 있으나, '<?xml' 형태의 XHTML 또는 XML 문서와 함께 사용할 수도 있기 때문에 분별을 위해 '<?php'로 시작해 '?>'로 종료하는 코드를 사용하는 것이 좋다.
HTML5, CSS3나 JavaScript와 마찬가지로 PHP는 '/* */', '//' 또는 '<!-- -->' 형태로 주석을 사용할 수 있다. 주석 범위 안에 들어간 코드는 실행이 되지 않는다.
문자 표시
1
2
3
|
<?php
print "안녕하세요!";
?>
|
cs |
'print "내용";' 문을 사용한다. 문자열을 큰따옴표("") 또는 작은따옴표('')로 묶는다. 행의 마지막에는 세미콜론(;)을 사용한다.
HTML에 삽입
1
2
3
4
5
6
7
8
9
10
|
<html>
<head>
<title>PHP 테스트</title>
</head>
<body>
<?php
print "안녕하세요!";
?>
</body>
</html>
|
cs |
PHP 파일을 HTML 태그로 작성하고 프로그램으로 제어하고 싶은 부분만 PHP 코드로 작성할 수 있다. 주로 회원 목록을 검색하고 표시할 때와 같이 매번 페이지 내용이 바뀔 때 활용한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<html>
<head>
<title>PHP 테스트</title>
</head>
<body>
<b>
<?php
print "안녕하세요!";
?>
</b>
<?php
print "<br>";
print "<br>";
?>
<?php
print "안녕하세요!";
?>
</boby>
</html>
|
cs |
시작 태그와 종료 태그를 여러 군데에 작성할 수도 있다. 이런식으로 작성된 코드는 확장자를 .php를 붙여 PHP 문서로, 문자 코드는 UTF-8로 저장한다. 만약 확장자에 .html을 붙여 HTML 문서로 저장하면 PHP 코드는 실행되지 않고 작성한 코드를 그대로 출력하게 된다.
상수
상수(예시로 JavaScript에서는 const로 변수를 선언할 때 상수가 된다.)는 코드가 실행되는 중에 변경하지 않는 값을 미리 할당해 두는 것이다. PHP는 미리 정의된 수많은 상수를 제공한다. 상수에는 관습적으로 대문자를 사용한다.
상수 이름 | 설명 |
PHP_VERSION | PHP의 버전 |
PHP_OS | PHP가 실행 중인 OS |
_LINE_ | 처리 중인 파일의 현재 줄 번호 |
_FILE_ | 처리 중인 파일의 전체 경로와 이름 |
_DIR_ | 처리 중인 파일의 디렉토리 |
_FUNCTION_ | 함수명 |
_CLASS_ | 클래스명 |
_TRAIT_ | 트레이명 |
_METHOD_ | 클래스 메서드명 |
_NAMESPACE_ | 현재 네임스페이스 이름 |
true | 참 |
false | 거짓 |
null | null값(아무 값이 없음) |
define 함수를 사용하면 자신만의 상수를 정의할 수 있다.
1
2
3
4
|
<?php
define("상수명", "정의할 값");
print 상수명;
?>
|
cs |
위와 같은 식으로 사용할 수 있다. 상수명은 대문자와 소문자를 구분하지만, 대문자로만 사용하면 코드를 읽기가 쉬워진다. 또 상수는 PHP 코드 어디서든 사용할 수 있어서 사용자에게 나타낼 메세지를 정의하기 편리하다.
변수
JavaScript의 변수(Variable)와 같은 개념이다. JavaScript에서는 var, let 또는 const(상수)로 변수를 선언하지만, PHP에서는 '$변수명' 으로 변수를 지정할 수 있다.
1
2
3
4
5
6
|
<?php
$abc; // 가능하다.
$ABC; // $abc와는 다른 변수(대/소문자 구별을 한다.)다.
$123; // 숫자는 변수명의 첫 글자로 사용할 수 없다.
$_123; // 언더바(_)를 사용하면 숫자를 사용할 수 있다.
?>
|
cs |
또한 '$this'에 경우는 클래스 안에서 사용하는 특별한 변수이기 때문에 다른 장소에서는 사용할 수 없다. 정리하면 아래와 같다.
문자 | 설명 |
a~z(소문자) | 대문자와 소문자를 따로 구별한다. |
A~Z(대문자) | |
0~9 | $의 바로 다음에는 숫자를 써넣을 수 없다. |
0x7F~0xFF | 코드를 가진 문자 |
_ | 언더바 |
변수에 데이터를 할당하는 방법은 아래와 같다.
1
2
3
4
5
6
7
|
<?php
$data1 = "안녕하세요!";
$data2 = 10;
print $data1;
print $data2;
?>
|
cs |
변수에 데이터를 할당하려면 할당 연산자 =을 사용한다. 문자열에 경우 따옴표("" 또는 '')로 묶어준다. 숫자에 경우는 따옴표로 묶을 필요는 없다. 데이터를 참고하고 싶다면 print문을 사용하면 된다.
PHP도 JavaScript 처럼 변수의 형을 선언하지 않고 사용할 수 있는데, 자동으로 형변환이 일어나는 것도 비슷하다. 아래의 표는 PHP의 변수형이다.
논리값(boolean) | TRUE / FALSE의 진윗값 |
정수(integer) | 양과 음의 정수이다. |
부동소수점, 실수(float) | 부동소수점, 실수이다. |
문자열(string) | 문자들, 문자열의 길이에는 제한이 없다. |
배열(array) | JavaScript의 배열과 같다. |
오브젝트, 객체(object) | 오브젝트를 초기화 하는 경우에 사용한다. |
리소스(resource) | 외부 리로스의 레퍼런스를 계속 유지한다. |
널(null) | 값이 없음을 표시한다. |
배열
배열의 순서는 0번부터 안의 값의 갯수 만큼 순서가 정해진다. JavaScript의 배열과 유사하다고 할 수 있다. PHP의 배열 선언은 일반적인 변수선언과 같은 $을 사용한다. 배열에 데이터를 할당하는 방법은 아래의 코드를 참조하면 된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
<?php
// 배열에 데이터를 할당하는 방법이다.
$week[] = "월";
$week[] = "화";
$week[] = "수";
$week[] = "목";
$week[] = "금";
$week[] = "토";
$week[] = "일";
// 또는 아래와 같은 방법도 가능하다.
$week[0] = "월";
$week[1] = "화";
$week[2] = "수";
$week[3] = "목";
$week[4] = "금";
$week[5] = "토";
$week[6] = "일";
// 배열에 들어간 값을 가져오는 방법이다.
print $week[0];
print "<br>";
print $week[1];
print "<br>";
print $week[2];
print "<br>";
print $week[3];
print "<br>";
print $week[4];
print "<br>";
print $week[5];
print "<br>";
print $week[6];
?>
|
cs |
이외에도 array 함수를 사용하는 방법이 있다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<?php
// array 함수를 사용하는 방법이다.
$month = array(1,2,3,4,5,6,7,8,9,10,11,12);
$nations = array(
"대한민국",
"미국",
"일본",
"중국",
"영국",
"독일",
"호주",
"프랑스",
"캐나다",
"브라질",
"러시아",
)
?>
|
cs |
이외에도 배열을 초기화 시킬 수 있다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<?php
//배열을 초기화 시킨다.
$month = array();
$nations = [];
// array 함수를 사용하는 방법이다.
$month = array(1,2,3,4,5,6,7,8,9,10,11,12);
$nations = array(
"대한민국",
"미국",
"일본",
"중국",
"영국",
"독일",
"호주",
"프랑스",
"캐나다",
"브라질",
"러시아",
)
?>
|
cs |
아래의 두 가지 방법으로 초기화 시킬 수 있다. 배열을 변수와 구별하기 위해 코드를 시작할 때 먼저 초기화를 하면 가독성이 좋아진다.
1
2
3
4
|
<?php
$week = explode(",","가,나,다,라,마,바,사");
print $week[3];
?>
|
cs |
사용하는 방법은 $data = explode("구분 문자","문자열");의 형태를 가진다.
'프로그래밍 공부 > PHP' 카테고리의 다른 글
PHP - 문자열 조작 (0) | 2020.01.21 |
---|---|
PHP - 인수, 반환 값 그리고 전역 변수 (0) | 2020.01.16 |
PHP - continue문/break문, reqire문/include문 그리고 사용자 정의 함수 (0) | 2020.01.16 |
PHP - while문, for문 그리고 foreach문 (0) | 2020.01.15 |
PHP - 연관 배열, 연산자 그리고 조건문 (0) | 2020.01.13 |