📚 PHP 강의 커리큘럼
2025. 6. 24. 21:12ㆍ프로그램/PHP 초급
📚 PHP 강의 커리큘럼
1단계: 초급 (PHP 기본기 다지기)
PHP 개발의 첫걸음을 떼는 과정입니다. 프로그래밍 기본 개념과 PHP 언어의 핵심 문법을 익혀 간단한 웹 페이지를 만들 수 있도록 합니다.
- 1주차: PHP 개발 환경 설정 및 기본 출력
- PHP란 무엇인가?
- 웹 서버 (Apache, Nginx) 및 PHP 설치 (XAMPP/WAMP/Laragon 활용)
- 개발 도구 (VS Code) 설정
- echo, print를 이용한 출력
- HTML과 PHP 연동하기
- 2주차: 변수와 자료형
- 변수 선언 및 할당 ($)
- 데이터 타입 (정수, 실수, 문자열, 불린, 배열, 객체, NULL)
- 상수 (define)
- 데이터 타입 변환 (형 변환)
- 3주차: 연산자
- 산술, 할당, 비교, 논리, 증감 연산자
- 조건 연산자 (삼항 연산자 ?:)
- 오류 제어 연산자 (@)
- Null 병합 연산자 (??)
- 4주차: 조건문과 반복문
- if, else if, else 문
- switch 문
- for, while, do-while 문
- foreach 문 (배열에 특화)
- break, continue
- 5주차: 함수
- 함수 정의 및 호출
- 매개변수 (기본값, 가변 인자)
- 반환 값
- 내장 함수 (문자열, 배열 관련 함수 등)
- 사용자 정의 함수
- 6주차: 배열
- 배열 선언 및 초기화
- 인덱스 배열, 연관 배열
- 다차원 배열
- 배열 조작 함수 (정렬, 추가/삭제 등)
- 7주차: HTML 폼 처리 및 GET/POST 방식
- HTML 폼 생성
- GET, POST 메서드의 이해
- $_GET, $_POST, $_REQUEST 슈퍼 글로벌 변수
- 폼 데이터 유효성 검사 (간단한 예시)
- 8주차: 파일 입출력 및 쿠키/세션
- 파일 생성, 읽기, 쓰기
- 쿠키(Cookie) 설정 및 읽기
- 세션(Session) 설정 및 사용
- $_SERVER 슈퍼 글로벌 변수 활용
2단계: 중급 (데이터베이스 연동 및 웹 애플리케이션 기초)
PHP와 데이터베이스를 연동하여 동적인 웹 애플리케이션을 만드는 방법을 학습합니다. 기본적인 웹 보안 개념과 함께 MVC 패턴의 기초를 다집니다.
- 1주차: 데이터베이스 기초 및 MySQL 연동 (PDO)
- 관계형 데이터베이스 개념 (MySQL/MariaDB)
- SQL 기본 (SELECT, INSERT, UPDATE, DELETE)
- PHP Data Objects (PDO)를 이용한 DB 연결
- SQL Injection 방지를 위한 Prepared Statement
- 2주차: 회원가입 및 로그인 시스템 구현
- 데이터베이스 스키마 설계 (사용자 테이블)
- 회원가입 기능 (데이터 유효성 검사, 비밀번호 해싱)
- 로그인 기능 (세션 기반 인증)
- 로그아웃 및 세션 관리
- 3주차: 게시판 CRUD 구현 (기본)
- 게시판 테이블 설계
- 글 목록, 글 작성, 글 보기, 글 수정, 글 삭제
- 페이징 처리
- 4주차: 파일 업로드 및 이미지 처리
- HTML 폼을 이용한 파일 업로드
- $_FILES 슈퍼 글로벌 변수
- 업로드된 파일 유효성 검사 (확장자, 크기)
- 이미지 리사이징 및 썸네일 생성 (GD 라이브러리)
- 5주차: PHP 객체 지향 프로그래밍 (OOP) 기초
- 클래스, 객체, 속성, 메서드
- 생성자 (__construct)
- 캡슐화 (public, private, protected)
- 상속 (extends)
- 6주차: OOP 심화 및 디자인 패턴 소개
- 추상 클래스, 인터페이스
- 트레이트 (Trait)
- 정적 속성/메서드 (static)
- 싱글톤(Singleton), 팩토리(Factory) 패턴 소개
- 7주차: MVC 패턴의 이해 및 적용
- MVC (Model-View-Controller) 개념
- 간단한 MVC 구조로 게시판 리팩토링
- URL 라우팅 기초
- 8주차: 웹 보안 기초 및 에러 핸들링
- XSS, CSRF 공격 이해 및 방어
- 비밀번호 보안 (해싱, 솔팅)
- 에러 보고 및 로그 설정
- try-catch 예외 처리
3단계: 고급 (프레임워크 활용 및 서비스 개발)
실제 서비스 개발에 필요한 프레임워크 활용 능력을 기르고, RESTful API 개발 및 성능 최적화 방법을 학습합니다.
- 1주차: PHP 프레임워크 입문 (Laravel / Symfony 중 택 1)
- 프레임워크의 필요성과 장점
- 선택한 프레임워크의 설치 및 기본 구조 이해
- 라우팅, 컨트롤러, 뷰 기본 사용법
- 2주차: ORM (Object-Relational Mapping) 활용
- ORM 개념 (Eloquent ORM 등)
- 모델 생성 및 데이터베이스 연동
- 관계형 데이터베이스 관리 (1:1, 1:N, N:M 관계)
- 3주차: 인증 및 권한 관리 (프레임워크)
- 프레임워크의 내장 인증 시스템 활용
- 미들웨어(Middleware)를 이용한 접근 제어
- 역할 기반 권한 관리 (Role-Based Access Control)
- 4주차: RESTful API 개발 기초
- RESTful API 개념과 원칙
- API 엔드포인트 설계
- JSON 데이터 형식 다루기
- Postman 등 API 테스트 도구 활용
- 5주차: RESTful API 보안 및 인증
- API 키, 토큰 기반 인증 (JWT)
- CORS (Cross-Origin Resource Sharing) 설정
- API 요청 제한 (Rate Limiting)
- 6주차: 캐싱 (Caching) 전략
- 캐싱의 중요성과 종류 (데이터베이스 캐싱, HTTP 캐싱, OPcache)
- 프레임워크 캐싱 시스템 활용
- Redis/Memcached 연동
- 7주차: 성능 최적화 및 디버깅
- DB 쿼리 최적화 (인덱스 활용)
- 코드 프로파일링 (Xdebug)
- PHP-FPM 설정 최적화
- 로그 관리 및 모니터링
- 8주차: 배포 및 운영 기초 (Linux 서버)
- Linux 서버 환경 이해 (Ubuntu/CentOS)
- Git을 이용한 코드 배포
- 웹 서버 (Nginx/Apache) 설정
- HTTPS (SSL/TLS) 설정
4단계: 최상급 (대규모 서비스 아키텍처 및 고급 기술)
복잡하고 대규모의 서비스를 설계하고 운영하는 데 필요한 고급 기술과 아키텍처 패턴을 학습합니다.
- 1주차: 마이크로서비스 아키텍처 (MSA) 개요
- 모놀리식 vs 마이크로서비스
- MSA의 장단점
- PHP에서 MSA 구현 전략
- API Gateway, 서비스 디스커버리
- 2주차: 메시지 큐 (Message Queue) 활용
- 메시지 큐의 필요성 (Kafka, RabbitMQ)
- 비동기 처리, 작업 큐 (Queue)
- PHP에서 메시지 큐 연동 및 활용 (Laravel Queue 등)
- 3주차: 컨테이너 기술 (Docker) 활용
- Docker 개념 및 설치
- Dockerfile 작성 및 이미지 빌드
- Docker Compose를 이용한 다중 컨테이너 애플리케이션
- PHP 애플리케이션 도커라이징
- 4주차: CI/CD (지속적 통합/지속적 배포) 파이프라인 구축
- CI/CD 개념 및 필요성
- GitLab CI/CD, GitHub Actions 등 활용
- PHP 프로젝트를 위한 CI/CD 파이프라인 설계 및 구현
- 5주차: NoSQL 데이터베이스 (MongoDB/Redis) 활용
- NoSQL의 필요성 및 종류
- MongoDB/Redis 기본 사용법
- PHP에서 NoSQL 연동 및 활용 사례 (캐싱, 세션 저장, 로그 등)
- 6주차: 테스트 자동화 (단위/통합/E2E 테스트)
- PHPUnit을 이용한 단위 테스트
- 통합 테스트 작성
- Codeception/Cypress를 이용한 E2E(End-to-End) 테스트
- 테스트 주도 개발 (TDD) 소개
- 7주차: 클라우드 서비스 연동 (AWS/Azure/GCP)
- 클라우드 컴퓨팅 개념
- 주요 클라우드 서비스 소개 (EC2, S3, RDS, Lambda 등)
- PHP 애플리케이션을 클라우드에 배포하고 관리하는 방법
- 8주차: 아키텍처 패턴 및 설계 심화
- 도메인 주도 설계 (DDD)
- 클린 아키텍처 (Clean Architecture)
- 성능 확장성 및 고가용성 설계
- 모니터링 및 로깅 시스템 심화 (ELK Stack)
'프로그램 > PHP 초급' 카테고리의 다른 글
| 📚 PHP 강의: 웹 서버 (Apache, Nginx) 및 PHP 설치 (XAMPP/WAMP/Laragon 활용) (0) | 2025.06.25 |
|---|---|
| 📚 PHP 강의: PHP란 무엇인가? (0) | 2025.06.25 |
| 초를 동영상 재생 시간 (ISO 8601 형식) 으로 변환하는 함수 (0) | 2025.06.08 |
| 방대한 자료를 LIKE 검색을 하는데 부하를 줄일수 있는 방법 (0) | 2025.06.06 |
| macOS에서 파일 업로드 시 발생하는 한글 자소 분리 문제를 해결 (0) | 2025.06.04 |