PHP기초문법
목차
PHP의 기초문법의 주석과 변수를 알아보겠습니다.
주석은 코드의 유지보수를 위한 기록이고, 변수는 프로그램의 실행동안 사용하는 데이터를 담는 곳입니다.
주석
PHP기초문법인 주석을 알아보겠습니다.
주석(Comments)은 컴퓨터에서 실행되는 명령어는 아니지만 프로그램을 설명하기 위한 용도로 소스코드에 함께 기록합니다.
컴퓨터는 PHP 소스코드를 처리하기 전에 주석을 이를 무시합니다. 그럼 주석은 왜 사용할까요? 주석은 나중에 코드수정 등의 목적으로 코드를 다시 읽을 때를 위해 기록합니다.
프로그래머가 코드를 작성하고 한 달후에 그 코드를 보면 자기가 작성한 소스코드 인데도 변수나 알고리즘이 기억나지 않을 때가 있습니다. 이럴 때를 대비해서 주석을 적어둔다면 유지보수하는 시간을 절약할 수 있습니다.
물론 자신뿐 아니라 타인이 수정할 수도 있다는 점을 감안하여 주석을 달아둬야 합니다. 복잡한 프로그램은 한결같이 주석을 빼곡히 적어놓은 것을 볼 수 있습니다.
프로그래머가 하루에 10줄만 코드를 작성해도 한달이면 300줄 6개월이면 1800줄이 넘습니다. 적절한 주석문을 작성하는 일은 코드가 넘치는 세상에서 더욱 중요해지고 있습니다.
아래의 예제로 확인해 보겠습니다.
<?php // single-line comment echo 'you don\'t see a comment'; /* multi-line */ ?>
- // 는 한줄 주석입니다. 다음 줄로 넘어가기 전에 // 의 뒤에 있는 텍스트는 주석처리 합니다. 간략하게 변수나 함수의 목적, 매개변수 등을 기술할 때 사용합니다.
- /* */ 는 여러줄 주석입니다. 이 안에 있는 텍스트는 주석처리됩니다. 여러줄에 걸쳐 작성할 수 있기 때문에 긴 내용을 기술하기에 적합합니다.
PHP의 문법은 주석을 사용하는 것에 어떠한 규칙도 두지 않습니다만, 일반적으로 주석을 활용하는 것은 좋은 관습입니다. 특히 팀의 프로젝트로 공유되는 코드에는 반드시 주석을 활용합니다. 팀이 아니더라도 오픈소스로 깃허브에 공유할 때에도 주석을 쓰는게 좋습니다.
본인은 의미를 잘 아는 식별자(identifier – 변수, 함수명)가 타인이 봤을 때는 이해하기 힘들 수 있습니다. 예를 들어 나의 생일을 mybd (my birthday의 약자) 라고 하면 대부분의 사람들이 이해할 수 없을 것입니다.
어떻게 생각하면 코딩도 하나의 작문이 될 수 있습니다.
- 하나는 컴퓨터에게 보내는 작문이고
- 다른 하나는 이 코드를 공유할 사람에게 보내는 작문입니다.
내가 오늘 작성한 코드가 3년 후에도 사용되고 있다는 생각으로 돌아보면 좋을 것 같습니다. 누가 어떤 상황에서 읽을지 생각하며 논리적으로 주석을 작성합니다.
변수(Variable)
변수는 ‘변하는 수’ 라는 뜻을 가지고 있습니다.
변수는 데이터를 저장하는 메모리의 공간입니다. 숫자와 문자열 등의 타입을 저장할 수 있습니다. 변수는 $으로 시작합니다.
<?php $name = "Mister Kay"; echo 'hello! ', $name; ?> [결과값] hello! Mister Kay
변수는 식별자(identifier)의 한 종류입니다. 식별자를 만들때는 지켜야할 규칙이 있습니다.
- 변수의 이름은 문자 혹은 _ 밑줄로 시작해야 한다
- 변수의 이름은 숫자로 시작할 수 없다
- 변수의 이름은 문자, 숫자, _ 밑줄을 사용한다.
- ASCII 코드 문자를 사용할 수 있다.
이전에는 변수이름으로 유니코드 한글을 사용하지 못했는데 8.0.0 버전에서 실행해보니 한글 변수도 실행이 됩니다.
그러나 아쉽게도 변수이름을 한글로 짓는 것은 추천하지 않습니다. 국제 기준에도 맞지 않고 한글 코드는 유니코드와 ANSI 한글이 따로 있기 때문에 문제가 발생할 소지가 많습니다.
언젠가 좋은 날이 오면 한글을 변수로 사용할 날도 오겠죠. 아직은 무리입니다. 주석을 한글로 쓰는 것은… 상황에 맞게 합니다. 중요한 것은 효율적인 소통입니다.
<?php $name = "Mister Kay"; // valid $_name1 = "Miss Lee"; // valid echo $name; echo "<br>"; echo $_name1; ?> [결과값] Mister Kay Miss Lee
PHP 변수를 다른 언어와 비교해보면 $ 달러 사인을 앞에 붙인다는 점 동적타이핑으로 데이터형을 선언하지 않는다는 점이 있습니다(파이썬, JS도 데이터형 선언이 없음)
위의 코드도 변수 이름의 규칙을 따라 작성했습니다. 몇번 작성하다보면 자연스럽게 익숙해질 것 입니다.
변수의 종류(Variable Type)
PHP 기초문법에 변수는 데이터 타입에 따라 구분할 수 있습니다.
일반적으로 숫자형(Number), 문자열(String), 불린형(Boolean), 배열(Array) 로 구분합니다. 변수의 타입을 엄밀히 보면 세부적인 차이가 있습니다.
PHP는 명시적으로 자료의 형태를 선언하지 않아도 됩니다. C언어와 같이 타입에 엄격한 언어는 자료형을 명시하지 않으면 변수를 선언할 수 없습니다. 다행히 PHP는 문맥에 따라 자료형을 추정합니다. 이런 방식을 동적 타입(dynamic type)이라 하며 유연한 프로그래밍을 할 수 있습니다. 사용자는 변수의 타입에 신경쓰지 않아도 됩니다.
숫자형(Number)
숫자는 정수형과 소수형(부동소수점)이 있습니다.
$numberInt = 999; $numberFloat = 777.0;
문자열(String)
문자열은 따옴표로 감싸야 합니다. “큰따옴표 ‘작은따옴표 둘다 사용가능합니다.
$str = 'this is my string';
도트연산자는 문자열을 연결합니다.
<?php $part1 = "Hello "; $part2 = "World!"; echo $part1 . $part2; ?> [결과값] Hello World!
var_dump 함수는 자료형과 값을 반환합니다.
<?php $part1 = "Hello"; var_dump($part1); ?> [결과값] string(5) "Hello"
string – 문자열, 5 – 5글자, “Hello”
불린형(Boolean)
참과 거짓을 평가합니다. TRUE / FALSE 값을 같습니다.
$varBoolT = TRUE;
배열형(Array)
배열은 데이터를 연속으로 저장하는 방법입니다. [ ] 괄호안의 인덱스를 사용하여 각 요소에 접근할 수 있습니다. 첫번째 요소가 0부터 시작한다는 사실에 유의합니다.
<?php $numArray = array(1, 3, 5, 7); echo $numArray[0] . "<br/>"; echo $numArray[1] . "<br/>"; echo $numArray[2] . "<br/>"; echo $numArray[3] . "<br/>"; ?> [결과값] 1 3 5 7
요약
주석과 변수를 간략히 정리하며 PHP 기초문법을 둘러봤습니다.
주석은 한줄 주석과 여러줄 주석이 있습니다. (C스타일과 비슷합니다)
동적 타입(Dynamic Type) 언어답게 쉽게 변수를 사용할 수 있습니다.
변수의 이름은 규칙에 따라 지어야 하며 변수의 종류는 숫자형, 문자열, 불린형, 배열형이 있습니다.