웹 개발을 공부할 때, 많은 사람들이 자바스크립트는 React나 Vue, 자바는 Spring과 같은 프레임워크부터 떠올립니다. PHP도 Laravel이나 CodeIgniter 같은 프레임워크가 있습니다. 이들은 효율적인 개발을 위해 강력한 도구이지만, 프레임워크 없이도 웹 서비스는 충분히 만들 수 있다는 사실, 알고 계셨나요?
이번 PHP 스터디는 바로 그 점을 중심에 두고 있어요! 프레임워크 없이 순수 PHP와 Composer 기반 라이브러리만을 활용해서 직접 CRUD 기능이 포함된 블로그를 구현해보는 과정을 가지게 될 거에요.
프레임워크가 자동으로 처리해주는 것들을 스스로 구현해 보면서 웹 애플리케이션이 어떻게 동작하는지, 어떤 흐름으로 설계되고 개발되는지를 이해하는 과정이 포함될 거에요. 라우팅, 데이터베이스 연동, 인증, UI 출력 등 모든 과정을 차근차근 함께 진행하면서 어느새 여러분은 하나의 서비스를 직접 만든 경험을 가질 수 있어요!
웹 서비스를 만들고 싶은데 어디서부터 시작해야 할지 막막하셨던 분들에게도 이번 스터디가 좋은 출발점이 되어줄 거예요.
매주 직접 실습하고, 궁금한 건 함께 나누며 배워가는 과정 속에서 코딩의 즐거움도 느낄 수 있어요. 혼자서는 놓치기 쉬운 부분도, 스터디 안에서 서로 도와가며 채워나가면 어느새 실력이 자라나게 될 거에요.
초보자도 부담 없이 시작할 수 있도록 각 과정은 단계별로 구성되어 있고, 개발 환경 세팅부터 배포까지 전 과정을 경험해 볼 거에요. 단순한 강의나 자료 제공이 아닌, 함께 프로젝트를 만들고 성장해가는 실전 중심 학습이니 스스로의 성장을 느껴보고 싶은 분이라면 꼭 참여해보세요.
지금이 여러분의 첫 서비스를 만들어볼 수 있는 기회일지도 몰라요!
그렇다면 함께 시작해볼까요?
학습 내용
- PHP, Apache/Nginx, MySQL 설치 및 연동
- PHP 기본 문법: 변수, 조건문, 반복문, 함수, 배열
- Composer 설치 및 autoload 설정
학습 목표
웹 서버 환경을 로컬에 직접 구축하고 PHP의 핵심 문법을 학습하여 간단한 동적 페이지를 구현할 수 있는 수준까지 실습합니다. 또한 Composer를 활용하여 외부 패키지를 프로젝트에 도입할 준비를 갖춥니다.
학습 내용
- 클래스와 객체의 개념
- 상속, 인터페이스, 추상 클래스, 다형성 실습
- 게시글(Post) 도메인 모델링 및 클래스 설계
학습 목표
객체지향 프로그래밍의 핵심 개념을 실제 코드에 적용하여 응집력 높은 프로그램 구조를 설계할 수 있습니다. 게시글 기능을 중심으로 추상화와 책임 분리를 적용한 설계 경험을 쌓습니다.
학습 내용
- MySQL 데이터베이스 기본 문법과 CRUD 실습
- Eloquent ORM 설치 및 설정
- 게시글 테이블 생성 및 모델 연동
- Raw SQL과 ORM 방식 비교
학습 목표
SQL을 직접 다루는 방식과 ORM을 통한 추상화를 비교하여 실무에서 데이터 모델을 어떻게 구성하고 다루는지 이해합니다. 게시판 데이터를 DB와 연동하여 실제로 저장, 조회, 수정, 삭제하는 흐름을 구현합니다.
학습 내용
- PSR-4 오토로딩 구조 이해 및 적용
- MVC 구성 요소(Controller, Service, Model) 역할 구분
- 의존성 주입(DI) 패턴 도입
- 서비스 계층에서 로직 분리 실습
학습 목표
전통적인 구조보다 유연하고 테스트 가능한 MVC 기반 서비스를 설계합니다. 의존성 주입을 통해 컴포넌트 간 결합도를 낮추고, 실무에서 흔히 사용하는 서비스 계층 중심의 로직 분리를 실습합니다.
학습 내용
- FastRoute 설치 및 설정
- GET/POST/PUT/DELETE 등 HTTP 메서드 분기 처리
- 동적 URL 라우팅 처리 (예: /post/{id})
- RESTful API 라우팅 패턴 설계
학습 목표
FastRoute를 사용해 효율적인 라우팅 구조를 구현하고, 다양한 HTTP 요청을 구분하여 적절한 컨트롤러에 매핑하는 기술을 익힙니다. 실무에서 RESTful 방식의 API 구조를 직접 설계할 수 있는 능력을 기릅니다.
학습 내용
- vlucas/phpdotenv 패키지 도입 및 환경 구성
- 개발/운영 환경별 설정값 분리
- monolog/monolog을 활용한 로그 기록
- 로그 레벨(INFO, ERROR 등) 및 파일 분리
학습 목표
운영 환경에서 발생할 수 있는 예외나 장애를 추적할 수 있도록, 설정 파일 분리와 로깅 시스템을 구축합니다. 실무에서의 설정 관리와 디버깅 관리를 위한 기초를 다집니다.
학습 내용
- JWT 구조 및 동작 원리 이해
- firebase/php-jwt 라이브러리 도입
- RSA 키쌍 생성 및 OpenSSL 연동
- 로그인 시 JWT 발급, API 요청 시 검증
- 인증 미들웨어 구성 및 접근 권한 제어
학습 목표
보안성이 높은 토큰 기반 인증 방식을 이해하고, RSA를 통한 비대칭 암호화를 적용한 JWT 인증 시스템을 구축합니다. 로그인 이후의 사용자 요청을 안전하게 보호하는 인증 미들웨어 흐름을 설계하고 구현할 수 있게 됩니다.
학습 내용
- Redis 서버 설치 및 PHP Redis 확장 연동
- 캐시 저장/읽기/삭제 기본 연산 실습
- 게시글 목록 캐싱 처리
- 사용자 세션 저장소로 Redis 활용
- TTL, 캐시 무효화 전략 이해
학습 목표
Redis를 활용하여 서버 부하를 줄이고, 응답 속도를 개선하는 캐싱 전략을 학습합니다. 또한, 세션 스토리지를 Redis로 전환함으로써 웹 애플리케이션의 확장성과 안정성을 확보하는 방식을 실습합니다.
학습 내용
- Twig 또는 PHP 템플릿 구조 설계
- View와 데이터 바인딩 처리 방식 구현
- FTP, GitHub Pages, 호스팅 환경으로 배포
- 최종 코드 리뷰 및 피드백
학습 목표
웹 애플리케이션의 사용자 인터페이스를 구성하고, 프로젝트를 외부 서버에 배포하는 과정을 경험합니다. 개발한 코드를 발표하고, 다른 팀원의 프로젝트를 리뷰하며 실전 개발 프로세스를 마무리합니다.