본문 바로가기

KnockOn/2week

[2주차 TIL] KnockOn Bootcamp PHP

웹 개발 기초: PHP의 이해와 활용

📚 학습 목표

  • PHP의 기본 개념과 특징 이해
  • PHP의 기본 문법과 변수 사용법 익히기
  • 함수의 정의와 사용 방법 배우기
  • 폼 데이터 처리 방법 이해하기
  • 데이터베이스와의 연동 기초 배우기

1. PHP의 개념과 특징

PHP(Hypertext Preprocessor)는 서버 사이드 스크립트 언어로, 주로 웹 개발에 사용됩니다. PHP는 HTML과 결합하여 동적인 웹 페이지를 생성하는 데 강력한 기능을 제공합니다.

1.1 PHP의 주요 특징

  • 서버 사이드 스크립팅: PHP는 서버에서 실행되어 클라이언트에게 HTML을 반환합니다.
  • 오픈 소스: 무료로 사용할 수 있으며, 널리 사용되는 커뮤니티가 지원합니다.
  • 크로스 플랫폼: Windows, macOS, Linux 등 다양한 운영 체제에서 사용 가능합니다.
  • 데이터베이스와의 강력한 통합 지원: MySQL, PostgreSQL 등 여러 데이터베이스와 쉽게 연동됩니다.
  • 객체 지향 프로그래밍(OOP): 객체 지향 프로그래밍을 지원하여 재사용성과 유지 관리성을 높입니다.

2. PHP 기본 문법과 변수

2.1 PHP 문법

PHP 코드는 <?php?> 태그 사이에 작성됩니다. HTML 내에서도 PHP 코드를 삽입할 수 있습니다.

<?php
echo "Hello, World!"; // 화면에 출력
?>

2.2 변수 사용

PHP에서 변수는 $ 기호로 시작하며, 대소문자를 구분합니다. 변수에 값을 할당할 때는 = 연산자를 사용합니다.

<?php
$name = "Alice"; // 문자열 변수
$age = 25;       // 정수 변수
$isStudent = true; // 불리언 변수

echo "Name: $name, Age: $age"; // 문자열 출력
?>

2.3 데이터 타입

PHP는 여러 데이터 타입을 지원합니다:

  • 문자열: 큰따옴표 또는 작은따옴표로 감싸는 텍스트
  • 정수 및 부동소수점: 숫자형 데이터
  • 불리언: true 또는 false
  • 배열: 여러 값을 한 변수에 저장할 수 있는 데이터 구조
  • 객체: 클래스의 인스턴스

3. 함수의 정의와 사용

PHP에서 함수는 코드의 재사용성을 높이기 위한 기능입니다. 함수를 정의하고 사용하려면 다음을 따릅니다.

3.1 함수 정의

function 키워드를 사용하여 함수를 정의할 수 있습니다.

<?php
function greet($name) {
    return "Hello, $name!";
}
?>

3.2 함수 호출

정의된 함수를 호출하려면 함수 이름과 괄호를 사용합니다.

<?php
echo greet("Alice"); // "Hello, Alice!" 출력
?>

3.3 기본 인자와 반환 값

함수는 기본 인자를 설정할 수 있으며, 값을 반환할 수 있습니다.

<?php
function add($a, $b = 0) { // 두 번째 인자는 기본값
    return $a + $b;
}
echo add(5); // 5 출력
echo add(5, 10); // 15 출력
?>

4. 폼 데이터 처리

PHP는 HTML 폼에서 사용자 입력 데이터를 처리하는 데 매우 유용합니다. 폼 데이터는 GET 또는 POST 메서드로 서버에 전송됩니다.

4.1 HTML 폼 예제

<form action="process_form.php" method="POST">
    Name: <input type="text" name="name">
    Age: <input type="number" name="age">
    <input type="submit" value="Submit">
</form>

4.2 PHP 폼 처리

위의 폼 데이터는 process_form.php 파일에서 처리할 수 있습니다.

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = htmlspecialchars($_POST['name']); // 사용자 입력 안전하게 처리
    $age = (int)$_POST['age']; // 숫자로 변환

    echo "Name: $name<br>";
    echo "Age: $age";
}
?>

4.3 데이터 유효성 검사

사용자 입력에 대한 유효성 검사를 수행하여 데이터를 확인할 수 있습니다.

<?php
if (!empty($name) && !empty($age)) {
    // 유효한 데이터 처리
} else {
    echo "모든 필드를 입력하세요.";
}
?>

5. 데이터베이스와의 연동

PHP는 MySQL과 같은 데이터베이스와 쉽게 연동하여 데이터를 저장하고 검색할 수 있습니다. 이를 통해 동적인 웹 애플리케이션을 구축할 수 있습니다.

5.1 데이터베이스 연결

PHP에서 MySQL에 연결할 때는 mysqli 또는 PDO를 사용할 수 있습니다. 여기서는 mysqli를 사용하겠습니다.

<?php
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "my_database";

// 데이터베이스 연결
$conn = new mysqli($servername, $username, $password, $dbname);

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

5.2 데이터 삽입

데이터베이스에 데이터를 삽입하는 방법입니다.

<?php
$name = "Alice";
$age = 25;

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

if ($conn->query($sql) === TRUE) {
    echo "새로운 레코드 삽입 성공";
} else {
    echo "오류: " . $sql . "<br>" . $conn->error;
}
?>

5.3 데이터 조회

데이터베이스로부터 데이터를 검색합니다.

<?php
$sql = "SELECT id, name, age FROM users";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"] . " - Name: " . $row["name"] . " - Age: " . $row["age"] . "<br>";
    }
} else {
    echo "0 results";
}
?>

5.4 연결 종료

모든 작업이 끝난 후에는 데이터베이스 연결을 종료해야 합니다.

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

📌 마무리

이번 포스트에서는 PHP의 기본 개념과 특징, 기본 문법, 변수 사용법, 함수 정의와 사용, 폼 데이터 처리, 데이터베이스와의 연동에 대해 알아보았습니다. PHP는 웹 개발에서 굉장히 유용한 언어이며, 이러한 기초 지식을 통해 더 복잡한 프로젝트를 진행할 수 있는 능력을 갖출 수 있습니다

'KnockOn > 2week' 카테고리의 다른 글

[2주차 TIL] KnockOn Bootcamp Mysql  (0) 2024.12.16
[2주차 TIL] KnockOn Bootcamp Apache  (0) 2024.12.16
[2주차 TIL] KnockOn Bootcamp Javascript  (0) 2024.12.16
[2주차 TIL] KnockOn Bootcamp HTML  (0) 2024.12.16