PHP로 빠르게 백엔드 만들기: 시작하기

안녕하세요! 오늘은 PHP로 백엔드 개발을 빠르고 쉽게 시작하는 방법에 대해 소개하려고 합니다.


백엔드 개발은 웹사이트의 데이터를 처리하고 관리하는 핵심적인 역할을 합니다. 그중에서도 PHP는 간결하고 사용이 쉬워, 빠르게 백엔드를 구축하고자 하는 개발자들에게 매우 인기가 많습니다. 이 글에서는 PHP를 사용해 백엔드를 간단히 구성하는 방법과 실용적인 예제를 소개하겠습니다.

1. 왜 PHP인가?

PHP는 서버에서 실행되는 스크립트 언어로, 웹 개발을 위해 특별히 설계되었습니다. 다음과 같은 이유로 PHP는 빠르게 백엔드를 구축하기에 매우 적합합니다:

활발한 커뮤니티: 다양한 자료와 플러그인, 라이브러리가 커뮤니티에서 활발하게 공유되고 있습니다.

간단한 문법: 초보자도 쉽게 배울 수 있는 간단한 문법을 가지고 있습니다.

풍부한 프레임워크: Laravel, CodeIgniter 등 강력한 프레임워크가 있어 개발을 더 쉽게 만들어줍니다.

확장성: PHP는 대규모 애플리케이션에서도 효율적으로 작동할 수 있습니다.

2. PHP 개발 환경 설정하기

PHP 백엔드를 개발하기 위해서는 먼저 개발 환경을 설정해야 합니다. 가장 간편한 방법은 XAMPP 또는 MAMP와 같은 패키지를 설치하는 것입니다. 이 패키지는 Apache 서버, PHP, MySQL 등 필요한 모든 것을 한 번에 설치해 줍니다.

XAMPP 설치: XAMPP 공식 웹사이트에 접속하여 다운로드하고 설치합니다.

PHP 스크립트 실행: 설치 후, XAMPP를 실행하고, htdocs 폴더에 PHP 파일을 추가한 뒤 브라우저에서 localhost/파일이름.php로 접속하여 실행할 수 있습니다.

3. PHP로 간단한 백엔드 구축하기

이제 PHP를 사용하여 간단한 백엔드를 만들어보겠습니다. 예제로 사용자 데이터를 저장하고, 이 데이터를 브라우저에 출력하는 간단한 백엔드 애플리케이션을 만들어보겠습니다.

3.1. 데이터베이스 설정

PHP는 주로 MySQL과 함께 사용됩니다. 먼저 MySQL에 간단한 테이블을 생성해 보겠습니다.

CREATE DATABASE users_db;
USE users_db;

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    email VARCHAR(100)
);

3.2. PHP 코드 작성

다음으로 PHP 코드를 작성하여, 사용자의 이름과 이메일을 데이터베이스에 저장하고 이를 조회하는 간단한 백엔드 기능을 구현합니다.

<?php
// 데이터베이스 연결 설정
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "users_db";

$conn = new mysqli($servername, $username, $password, $dbname);

// 연결 체크
if ($conn->connect_error) {
    die("연결 실패: " . $conn->connect_error);
}

// POST로 받은 데이터 처리
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = $_POST['name'];
    $email = $_POST['email'];

    $sql = "INSERT INTO users (name, email) VALUES ('$name', '$email')";

    if ($conn->query($sql) === TRUE) {
        echo "새로운 레코드가 성공적으로 생성되었습니다.";
    } else {
        echo "오류: " . $sql . "<br>" . $conn->error;
    }
}

// 사용자 데이터 조회
$sql = "SELECT id, name, email FROM users";
$result = $conn->query($sql);
?>

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>PHP 사용자 관리</title>
</head>
<body>
    <h1>사용자 등록</h1>
    <form method="POST">
        이름: <input type="text" name="name" required>
        이메일: <input type="email" name="email" required>
        <button type="submit">등록</button>
    </form>

    <h2>등록된 사용자 목록</h2>
    <table border="1">
        <tr>
            <th>ID</th>
            <th>이름</th>
            <th>이메일</th>
        </tr>
        <?php
        if ($result->num_rows > 0) {
            while($row = $result->fetch_assoc()) {
                echo "<tr><td>" . $row["id"]. "</td><td>" . $row["name"]. "</td><td>" . $row["email"]. "</td></tr>";
            }
        } else {
            echo "<tr><td colspan='3'>등록된 사용자가 없습니다.</td></tr>";
        }
        ?>
    </table>
</body>
</html>

<?php
$conn->close();
?>

4. PHP의 장점과 한계

PHP는 비교적 빠르고 간단하게 백엔드를 구축할 수 있는 언어입니다. 하지만 그만큼 보안과 확장성에 신경을 써야 합니다. 예를 들어, SQL Injection 공격에 대비하기 위해 PDO나 MySQLi에서 제공하는 **준비된 문장(Prepared Statements)**를 사용하는 것이 좋습니다.

$stmt = $conn->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
$stmt->bind_param("ss", $name, $email);
$stmt->execute();

5. 결론

이렇게 해서 우리는 PHP를 사용하여 간단한 백엔드를 빠르게 구축하는 방법을 알아보았습니다. PHP는 매우 유연하고, 많은 웹 애플리케이션에서 백엔드로 사용되고 있습니다. 특히 Laravel과 같은 프레임워크를 사용하면 더 강력하고 효율적으로 개발할 수 있으니, 이후 포스팅에서는 이러한 프레임워크들도 다루어 보겠습니다.

지금까지 배운 내용을 바탕으로 간단한 프로젝트부터 시작하여, 실력을 점차 쌓아나가 보세요!