반응형

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

+ Recent posts