PHP란? 완벽 가이드
PHP는 서버 측에서 실행되는 스크립트 언어로, 동적인 웹 페이지를 만들기 위해 널리 사용됩니다. 이 글에서는 PHP의 개념, 특징, 기본 문법, 주요 기능, 최신 트렌드 등을 자세히 설명하겠습니다.
1. PHP란?
PHP(Hypertext Preprocessor)는 서버에서 실행되는 프로그래밍 언어로, 웹 개발에 최적화되어 있습니다.
PHP의 주요 특징
• 서버 사이드 실행 → 클라이언트가 아닌 서버에서 실행
• HTML과 통합 가능 → HTML 코드 내에서 직접 삽입 가능
• 데이터베이스 연동 용이 → MySQL, PostgreSQL 등과 쉽게 연결
• 오픈 소스 및 무료 → 누구나 자유롭게 사용 가능
• 플랫폼 독립적 → Windows, Linux, macOS에서 실행 가능
2. PHP의 활용 분야
활용 분야 |
설명 |
---|---|
동적 웹 페이지 |
로그인, 회원가입, 게시판 등 |
데이터베이스 연동 |
MySQL, MariaDB 등을 이용한 데이터 처리 |
API 개발 |
RESTful API를 만들어 모바일 및 웹 애플리케이션과 연동 |
CMS (콘텐츠 관리 시스템) |
워드프레스, Drupal, Joomla 등에서 사용 |
전자상거래 |
쇼핑몰, 결제 시스템 구축 |
3. PHP 기본 문법
① PHP 코드 실행 방법
PHP 코드는 .php 확장자를 가진 파일에 작성되며, 웹 서버에서 실행됩니다.
기본적인 PHP 코드
<?php
echo "안녕하세요, PHP입니다!";
?>
웹 브라우저에서 실행하면 안녕하세요, PHP입니다!가 출력됩니다.
② 변수 선언
PHP에서는 $ 기호를 사용하여 변수를 선언합니다.
<?php
$name = "홍길동";
$age = 25;
echo "이름: " . $name . ", 나이: " . $age;
?>
PHP 변수는 데이터 타입을 명시하지 않아도 자동으로 할당됩니다.
③ 데이터 타입
PHP는 다음과 같은 데이터 타입을 지원합니다.
<?php
$num = 10; // 정수
$pi = 3.14; // 실수
$text = "문자열"; // 문자열
$isTrue = true; // 불리언 (true/false)
$empty = null; // 널 값
$arr = array(1, 2, 3); // 배열
?>
④ 연산자
<?php
$a = 10;
$b = 5;
echo $a + $b; // 더하기
echo $a - $b; // 빼기
echo $a * $b; // 곱하기
echo $a / $b; // 나누기
echo $a % $b; // 나머지
echo $a === $b; // 값과 타입 비교
?>
⑤ 조건문
<?php
$age = 20;
if ($age >= 18) {
echo "성인입니다.";
} else {
echo "미성년자입니다.";
}
?>
⑥ 반복문
for 반복문
<?php
for ($i = 0; $i < 5; $i++) {
echo "반복: " . $i . "<br>";
}
?>
while 반복문
<?php
$count = 0;
while ($count < 3) {
echo "현재 카운트: " . $count . "<br>";
$count++;
}
?>
⑦ 함수
PHP에서 함수를 정의하는 방법입니다.
일반 함수
<?php
function greet($name) {
return "안녕하세요, " . $name . "님!";
}
echo greet("철수");
?>
익명 함수
<?php
$greet = function($name) {
return "안녕하세요, " . $name . "님!";
};
echo $greet("영희");
?>
4. PHP의 주요 기능
① HTML과 함께 사용
PHP는 HTML 코드 안에서 쉽게 사용할 수 있습니다.
<!DOCTYPE html>
<html>
<head>
<title>PHP 테스트</title>
</head>
<body>
<h1><?php echo "PHP를 이용한 동적 페이지"; ?></h1>
</body>
</html>
② 데이터베이스 연동 (MySQL 사용)
PHP는 MySQL과 같은 데이터베이스와 쉽게 연결됩니다.
<?php
$conn = mysqli_connect("localhost", "root", "password", "test_db");
if (!$conn) {
die("연결 실패: " . mysqli_connect_error());
}
$result = mysqli_query($conn, "SELECT * FROM users");
while ($row = mysqli_fetch_assoc($result)) {
echo "이름: " . $row["name"] . "<br>";
}
mysqli_close($conn);
?>
③ 폼 데이터 처리
<!DOCTYPE html>
<html>
<body>
<form method="post" action="process.php">
이름: <input type="text" name="name">
<input type="submit">
</form>
</body>
</html>
// process.php
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST["name"];
echo "입력한 이름: " . htmlspecialchars($name);
}
?>
④ 세션과 쿠키 관리
세션 사용
<?php
session_start();
$_SESSION["username"] = "홍길동";
echo "세션이 설정되었습니다.";
?>
쿠키 설정
<?php
setcookie("user", "철수", time() + 3600);
echo "쿠키가 설정되었습니다.";
?>
5. PHP 최신 문법 (PHP 8.x)
① 널 병합 연산자 (??)
<?php
$name = $_GET["name"] ?? "기본값";
echo $name;
?>
② 매치 표현식 (Match Expression)
<?php
$status = 2;
echo match ($status) {
1 => "처리 중",
2 => "완료됨",
3 => "보류됨",
default => "알 수 없음",
};
?>
6. PHP 프레임워크
PHP 개발을 더 효율적으로 하기 위해 다양한 프레임워크가 존재합니다.
프레임워크 |
특징 |
---|---|
Laravel |
가장 인기 있는 PHP 프레임워크 |
CodeIgniter |
가볍고 빠른 프레임워크 |
Symfony |
엔터프라이즈급 애플리케이션에 적합 |
WordPress |
블로그 및 CMS 개발에 최적화 |
7. 결론
PHP는 강력한 서버 사이드 언어로, 웹 개발에서 널리 사용됩니다.
• HTML, 데이터베이스 연동, API 개발 가능
• Laravel과 같은 프레임워크를 활용하면 더 강력한 웹 애플리케이션 구축 가능
• PHP 8.x 버전에서는 성능과 기능이 대폭 개선됨
웹 개발을 시작하려면 직접 PHP 코드를 작성해보는 것이 가장 좋은 방법입니다.