PHP 언어 퀵 가이드
원본 출처: http://www.shinbiro.com/~flyduck/php/index.html
정리 : 오상문 sualchi@daum.net
1. Variable (변수)
변수 이름은 $로 시작한다.
- 변수는 별도로 선언하는 부분이 없으며 (type을 미리 지정하지 않으며)
변수의 형(type)은 변수가 사용된 구문에 따라 결정된다.
- 변수의 형은 기본적으로 integer, double, string 형이 있으며
이외에 array와 object 형이 있다.
변수 형은 gettype(), is_long(), is_double(), is_string(), is_array(), is_object() 등의 함수로 알아낼 수 있다.
- 형 변환(type casting)은 C와 같은 형식으로 이루어진다.
(int) (integer) (real) (double) (float) (string) (array) (object) 등의 형변환 연산자가 있다.
- 문자열의 변환(string conversion) :
문자열이 숫자로 변환될 때,
문자열이 '.', 'e', 'E'를 포함하고 있으면 double로 그렇지 않으면 integer로 변환 된다.
- 변수 변수(variable variable) :
변수의 값이 변수의 이름이 되는 것을 말한다.
예를 들어, $a = "hello" 일때
$$a = "world"라고 정의하면
$hello = "world"로 정의되는 것과 같다.
- 유효 영역 (scope) :
사용자 정의 함수(user-defined function)에서는 지역 함수 유효영역(local function scope)이 적용된다.
즉, 함수 안에서 정의된 변수는 함수 안에서만 의미가 있다.
[주의] 외부에서 정의된 변수도 사용자 정의 함수 안에서 의미가 없다!
외부에서 정의된 변수를 사용하려면 함수 안에서
global $externalVar;
형식으로 정의를 하고 사용하거나
$GLOBALS["externalVar"]
형식으로 직접 변수를 사용하여야 한다.
- 정적 변수 (static variable) :
지역 함수 유효영역(local function scope)을 가지지만
그 유효영역을 벗어나더라도 변수의 값은 된다.
배열 (Array)
배열은 $array[] 형식으로 사용된다.
- scalar array :
첨자가 숫자로 주어지는 배열이다.
예) $array[0] = 1;
- associative array :
첨자가 숫자가 아니라 문자열로 주어지는 배열이다.
예) $array["first"] = 1;
- 그냥 $array[]에 값을 지정하면 array에 값이 하나 추가된다.
$array[] = 1; $array[] = 2; 는
$array[0] = 1; $array[1] = 2;와 같은 의미이다.
- array() 함수를 통하여 array를 만들 수도 있고,
count() 함수로 element의 갯수를 얻을 수도 있다.
next(), prev() 함수나 each() 함수를 통하여 요소(element)들을 참조할 수도 있다.
외부 변수 (External Variables)
- HTML form (GET/POST) :
form으로 전달된 값은 form에서 name field로 지정한 이름의 변수로 지정이 된다.
form에서 type = "image" 인 경우,
마우스로 클릭한 위치가 name_x, name_y 형태로 추가로 전달된다.
- HTTP 쿠키(Cookie) :
브라우저로 쿠키를 전달하려면 SetCookie(name, value, timeout) 함수를 이용한다.
클라이언트(client)로부터 전달되는 쿠키는 PHP 변수로 변환된다.
- 환경변수 (Environment Variable) :
환경변수 또한 PHP 변수처럼 사용할 수 있다.
환경변수는 getenv() 함수를 이용해 얻을 수 있으며
putenv() 함수로 환경변수를 지정할 수도 있다.
2. 클래스 (Class)
class 키워드를 사용하여 클래스 형을 정의하며
인스턴스(instance; 실제 변수) 생성은 new 연산자를 이용한다.
- 클래스의 상속은 extends 키워드를 사용한다.
- 생성자(constructor) 정의는 클래스와 같은 이름을 갖는 상수를 정의함으로써 이루어진다.
생성자는 기본 매개변수(default parameter)를 가질 수 있다.
예)
class testClass {
var $value;
function testClass($defValue = "test") { $value = $defValue; }
function doSet($setValue) { $value = $setvalue; }
function doPrint() { echo $value; }
}
class testLineClass extends testClass {
function doPrintLine() { echo("$valuen"); }
}
$test = new testClassLine;
$test->doSet("hello");
$test->doPrint();
$test->doPrintLine();
3. 수식 (Expression)
수식이란 값으로 환산되는 것을 말한다.
- 할당은 수식이므로 $a = $b = 5; 같은 문장을 쓸 수 있다.
- 전치형과 후치형 증가/감소 (pre and post increment / decrement ) :
예) $a++
++$a
$a--
--$a
- 비교 연산자(comparison operator)는 boolean 값을 갖는 수식이다.
- 연산자와 할당의 결합 :
예) $a += 3;
$b = ++$a;
$c = double(--$b);
$d = $c += 10;
- boolean : 불린형
숫자에서 0은 false, 0이 아닌값은 true이다.
문자열에서 ""와 "0"은 false, 나머지는 true이다.
배열에서는 요소가 하나도 없으면 false, 하나라도 있으면 true이다.
4. 구문 (Statement )
- if 문 :
if ( 수식 ) {
수행문장1;
} elseif ( 수식 ) {
수행문장2;
} else
수행문장3;
또는
if ( 수식 ) :
수행문장1;
elseif ( 수식 ) :
수행문장2;
else :
수행문장3;
endif;
- while 문 :
while ( 수식 )
수행문장;
또는
while ( 수식 ) :
수행문장;
endwhile;
- do...while 문 :
do {
수행문장;
} while ( 수식 );
- for 문 :
for ( 초기식 ; 조건식 ; 증감식 )
수행문장;
- switch 문 :
switch ( 수식 ) {
case ... :
수행문장1;
break;
default :
수행문장;
}
for, while 문 등의 순환문에서는 break를 이용한 탈출 제어가 가능하다.
5. 함수 (Function)
함수는 function 이라는 키워드를 가지고 정의되며 별도로 반환 형(return type)은 지정하지 않는다.
- 함수의 기본형은 다음과 같다.
function 함수명($인수1, $인수2, $인수3, ..., $인수n)
{
수행문장들;
return $반환값;
}
- 반환 값은 list와 object를 포함하여 어떤 형든 가능하다.
예) array를 반환하려면
return array(0, 1, 2);
- 인수(argument)는 기본적으로 값을 전달하는 방식(pass by value)이다.
참조에 의한 전달(pass by reference)을 사용하려면 인수 정의에서 변수명 앞에 &를 붙여주면 된다.
( 예; function funcName(&$arg1) )
함수기 값에 의한 전달로 정의 되었더라도
함수를 부를때 인수에 &를 붙여서 넘기면 참조에 의한 전달이 가능하다.
( 예; doFunc(&$var) )
- 초기치를 가진 기본 매개변수 값(default parameter) :
C++에서 사용하는 방식으로 기본 매개변수 값을 정의할 수 있다 :
예) function funcName($var = 1) { }
6. 연산자 (Operator)
C 언어의 연산자와 비슷하며 다음과 같은 연산자들이 있다.
- 산술 연산자 (arithmetic operator) :
+, -, *, /, %
- 문자열 연산자 (string operator) :
. (concatenation)
- 할당(대입) 연산자 (assignment operator) :
=
- 비트 연산자 (bitwise operator) :
&, |, ~
- 논리 연산자 (logical operator) :
and (&&), or (||), xor, !
- 비교 연산자 (comparison operator) :
==, !=, <, >, <=, >=
7. 기타
- require :
#include와 똑같은 의미로 사용된다.
- include :
include 문장을 만날때마다 지정한 파일을 포함한다.
require는 #include 처럼 무조건 파일을 포함시키지만
include는 loop나 if 문 등에서 사용할 수 있으며 필요한 경우에만 파일을 포함하도록 할 수 있다.
<이상>
'PHP' 카테고리의 다른 글
PHP, MySQL 연동 (0) | 2022.06.06 |
---|---|
PHP, 웹서버 XAMPP 사용하기 (0) | 2022.05.20 |
PHP 매뉴얼 (프로그래밍 가이드) - TCPSchool (0) | 2021.05.15 |
PHP 온라인 코딩 사이트 codepad.org (0) | 2016.08.11 |
아파치, PHP, MySQL 설치 (0) | 2015.10.14 |