PHP 최종 수정일 2026-06-18 16:38 조회수 4
대시보드

PHP

기본 정보

  • 이름: PHP
  • 원래 명칭: Personal Home Page
  • 현재 의미: PHP: Hypertext Preprocessor
  • 분류: 서버 사이드 스크립트 언어
  • 주요 용도: 웹 개발, 백엔드 개발, CMS, 게시판, 쇼핑몰
  • 관련 주제: #PHP #백엔드 #웹개발 #서버 #프로그래밍언어

개요

PHP는 웹 개발에 특화된 서버 사이드 프로그래밍 언어이다.

HTML 안에 PHP 코드를 삽입하여 동적 웹페이지를 만들 수 있으며, 데이터베이스와 연동해 게시판, 회원 시스템, 쇼핑몰, 관리자 페이지 등을 구현하는 데 많이 사용된다.

공식 PHP 사이트에서는 PHP를 “웹 개발에 특히 적합한 범용 스크립트 언어”라고 설명한다.


주요 특징

  • 서버에서 실행됨
  • HTML과 함께 사용하기 쉬움
  • MySQL/MariaDB와 자주 함께 사용됨
  • 문법이 비교적 단순함
  • 웹호스팅 환경에서 지원이 넓음
  • WordPress, 그누보드, XE, Drupal 등에서 사용됨
  • 빠른 개발과 유지보수에 적합함

기본 문법

<?php
echo "Hello, PHP!";
?>

변수

$name = "구름";
$age = 30;

echo $name;

PHP 변수는 $ 기호로 시작한다.


조건문

if ($age >= 20) {
    echo "성인입니다.";
} else {
    echo "미성년자입니다.";
}

반복문

for ($i = 1; $i <= 5; $i++) {
    echo $i;
}

배열

$fruits = ["apple", "banana", "orange"];

echo $fruits[0];

연관 배열

$user = [
    "name" => "구름",
    "role" => "developer"
];

echo $user["name"];

함수

function add($a, $b) {
    return $a + $b;
}

echo add(3, 5);

폼 처리

$name = $_POST['name'] ?? '';

echo htmlspecialchars($name, ENT_QUOTES, 'UTF-8');

사용자 입력값을 출력할 때는 XSS 방지를 위해 htmlspecialchars()를 사용하는 것이 좋다.


데이터베이스 연동

PHP는 MySQL, MariaDB와 자주 함께 사용된다.

$pdo = new PDO(
    "mysql:host=localhost;dbname=test;charset=utf8mb4",
    "user",
    "password"
);

실무에서는 mysqli보다 PDO를 사용하는 경우가 많다.


보안 주의사항

  • SQL Injection 방지
  • XSS 방지
  • CSRF 방지
  • 파일 업로드 검증
  • 비밀번호 해시 처리
  • 관리자 권한 체크
  • 세션 보안 관리

비밀번호 해시

$hash = password_hash($password, PASSWORD_DEFAULT);

if (password_verify($password, $hash)) {
    echo "로그인 성공";
}

비밀번호는 직접 암호화 알고리즘을 만들기보다 password_hash()password_verify()를 사용하는 것이 안전하다.


PHP가 많이 쓰이는 곳


주요 프레임워크

  • Laravel
  • Symfony
  • CodeIgniter
  • CakePHP
  • Slim

PHP와 함께 쓰이는 기술


장점

  • 웹 개발 진입 장벽이 낮음
  • 국내 웹호스팅 환경에서 지원이 좋음
  • 게시판·쇼핑몰 개발에 적합함
  • WordPress, 그누보드 등 실무 활용 사례가 많음
  • 작은 기능을 빠르게 개발하기 좋음

단점

  • 오래된 코드에서는 보안 취약점이 발생하기 쉬움
  • 프로젝트 구조가 무너지기 쉬움
  • 레거시 코드가 많은 편
  • 최신 백엔드 언어에 비해 이미지가 오래된 언어처럼 인식되기도 함

실무 메모

PHP를 사용할 때는 다음을 기본으로 잡는 것이 좋다.

  • PHP 8.x 이상 사용
  • 문자셋은 utf8mb4
  • DB 연결은 PDO 권장
  • 입력값 검증 필수
  • 출력값 이스케이프 필수
  • 관리자 기능은 권한 체크 필수
  • 파일 업로드는 확장자와 MIME 타입 검증
  • 에러 메시지는 운영환경에서 숨김 처리

관련 문서


출처

  • PHP 공식 홈페이지
  • PHP 공식 매뉴얼
  • 위키백과 「PHP」