728x90

PHP 강의 개요

1. PHP란 무엇인가?

  • PHP는 "Hypertext Preprocessor"의 약자로, 서버 사이드 스크립팅 언어입니다.
  • 웹 개발을 위해 설계되었으며 HTML에 쉽게 삽입할 수 있습니다.
  • 동적인 웹 페이지를 생성하는 데 사용됩니다.

2. PHP의 역사

  • 1994년, Rasmus Lerdorf가 처음 개발했습니다.
  • 원래 "Personal Home Page" 도구로 시작되었으나, 후에 더 강력한 기능을 추가하면서 "PHP: Hypertext Preprocessor"로 이름이 바뀌었습니다.

3. PHP의 특징

  • 오픈 소스: 무료로 사용할 수 있습니다.
  • 광범위한 지원: 대부분의 웹 서버, 운영 체제, 데이터베이스와 호환됩니다.
  • 쉬운 학습: 문법이 간단하고 이해하기 쉽습니다.
  • 풍부한 라이브러리: 다양한 내장 함수와 라이브러리를 제공합니다.

4. PHP 설치 및 설정

  1. 로컬 개발 환경 설정

    • XAMPP: Apache, MySQL, PHP, Perl이 포함된 패키지
    • MAMP: macOS용 Apache, MySQL, PHP 패키지
    • WAMP: Windows용 Apache, MySQL, PHP 패키지
  2. PHP 파일 작성

    • 파일 확장자는 .php로 합니다.
    • PHP 코드는 <?php ... ?> 태그 안에 작성합니다.

5. PHP 기본 문법

5.1 변수

  • $ 기호로 시작합니다.
    <?php
    $변수명 = 값;
    ?>

5.2 데이터 타입

  • 스칼라 타입: integer, float, string, boolean
  • 복합 타입: array, object
  • 특수 타입: NULL, resource

5.3 제어 구조

  • 조건문

    <?php
    if (조건) {
        // 코드
    } elseif (다른 조건) {
        // 코드
    } else {
        // 코드
    }
    ?>
  • 반복문

    <?php
    for ($i = 0; $i < 10; $i++) {
        echo $i;
    }
    
    while (조건) {
        // 코드
    }
    
    do {
        // 코드
    } while (조건);
    ?>

6. 함수

  • PHP에서는 사용자 정의 함수를 만들 수 있습니다.
    <?php
    function 함수이름(매개변수1, 매개변수2) {
        // 함수 내용
        return 반환값;
    }
    ?>

7. 배열

  • 인덱스 배열과 연관 배열을 지원합니다.
    <?php
    $인덱스배열 = array(1, 2, 3);
    $연관배열 = array("키1" => "값1", "키2" => "값2");
    ?>

8. PHP와 데이터베이스

  • PHP는 다양한 데이터베이스와 연동할 수 있습니다. 가장 일반적으로 사용되는 데이터베이스는 MySQL입니다.

    <?php
    $연결 = mysqli_connect("서버주소", "사용자이름", "비밀번호", "데이터베이스이름");
    
    if (!$연결) {
        die("연결 실패: " . mysqli_connect_error());
    }
    
    $sql = "SELECT * FROM 테이블명";
    $결과 = mysqli_query($연결, $sql);
    
    if (mysqli_num_rows($결과) > 0) {
        while($행 = mysqli_fetch_assoc($결과)) {
            echo "id: " . $행["id"]. " - Name: " . $행["이름"]. "<br>";
        }
    } else {
        echo "0 결과";
    }
    
    mysqli_close($연결);
    ?>

9. 폼 처리

  • HTML 폼 데이터를 처리하기 위해 $_GET 또는 $_POST 슈퍼글로벌 배열을 사용합니다.

    <!-- HTML 폼 -->
    <form method="post" action="처리파일.php">
        이름: <input type="text" name="name">
        나이: <input type="text" name="age">
        <input type="submit">
    </form>
    
    <!-- 처리파일.php -->
    <?php
    $이름 = $_POST['name'];
    $나이 = $_POST['age'];
    
    echo "이름: " . $이름 . "<br>";
    echo "나이: " . $나이;
    ?>

10. PHP 보안

  • SQL Injection 방지: 준비된 문(statement) 사용
  • XSS (Cross-Site Scripting) 방지: htmlspecialchars() 함수 사용
  • 입력 검증: 사용자 입력 데이터 철저히 검증

11. 고급 주제

  • 객체 지향 프로그래밍(OOP): 클래스, 객체, 상속, 다형성 등
  • 세션 관리: 사용자 세션을 유지하기 위한 방법
  • 파일 처리: 파일 읽기, 쓰기, 삭제 등

12. PHP 프레임워크

  • Laravel: 현대적인 PHP 애플리케이션 개발을 위한 프레임워크
  • Symfony: 재사용 가능한 PHP 구성 요소와 라이브러리를 제공
  • CodeIgniter: 간단하고 빠른 PHP 프레임워크
728x90
반응형

+ Recent posts