PHP 배우기
무료 인터랙티브 온라인 PHP 강의입니다. 모든 레슨에서 직접 PHP를 작성합니다. 경고가 뜰 땐 AI 힌트가 도와주고, 끝까지 마치면 무료 수료증을 드립니다.
30,264+ 명의 codders가 등록함
- 초보자 환영
AI 코딩 도우미
실습 중심의 대화형 강의
모든 레슨에 음성 나레이션 제공
지식을 확인하는 퀴즈
무료 수료증
커리큘럼
섹션 1
기초
섹션 시작하기시작펼치기접기필수 개념과 기본 기술로 튼튼한 기초를 다지세요Introduction to PHP
5 개 강의331- 01The PHP Language챌린지
- 02Hello World!챌린지퀴즈
- 03Tags and Statements퀴즈
- 04Comments퀴즈
- 05The new line챌린지퀴즈
Variables and Data Types
9 개 강의663- 01Numbers챌린지퀴즈
- 02Strings and Quotes챌린지퀴즈
- 03Booleans퀴즈
- 04Naming Conventions퀴즈
- 05Recap - Variable Init챌린지
- 06Empty Variables퀴즈
- 07String Concatenation챌린지퀴즈
- 08Getting User Input챌린지퀴즈
- 09Cast to Different Types챌린지퀴즈
Basic Operators
8 개 강의852- 01Arithmetic Operators챌린지퀴즈
- 02Modulo Operator챌린지퀴즈
- 03Exponentiation Operator챌린지퀴즈
- 04Combined Assignment챌린지퀴즈
- 05Increment/Decrement챌린지퀴즈
- 06Operator Precedence챌린지퀴즈
- 07Recap - Simple Calculations챌린지
- 08String Operators챌린지퀴즈
Comparison & Logical Operators
5 개 강의532- 01Comparison Operators챌린지퀴즈
- 02Equality & Identity챌린지퀴즈
- 03Logical Operators Part 1챌린지퀴즈
- 04Logical Operators Part 2챌린지퀴즈
- 05Recap - Simple Logic챌린지
Conditional Logic
6 개 강의639- 01If Statement챌린지퀴즈
- 02If - Else챌린지퀴즈
- 03The Ternary Operator챌린지퀴즈
- 04Null Coalescing Operator챌린지퀴즈
- 05Switch Statement챌린지퀴즈
- 06Recap - Making Decisions챌린지
Arrays Part 1 - Indexed
7 개 강의645- 01Introduction to Arrays퀴즈
- 02Creating Indexed Arrays챌린지퀴즈
- 03Accessing Elements by Index챌린지퀴즈
- 04Modifying Elements by Index챌린지퀴즈
- 05Array Size with Count챌린지퀴즈
- 06Adding Elements to an Array챌린지퀴즈
- 07Recap - Managing a Simple List챌린지
Arrays Part 2 - Associative
6 개 강의540- 01Intro to Associative Arrays퀴즈
- 02Accessing Values by Key챌린지퀴즈
- 03Modifying Values by Key챌린지퀴즈
- 04Adding New Key-Value Pairs챌린지퀴즈
- 05Check if Key Exists챌린지퀴즈
- 06Recap - Key-Value Data Store챌린지
반복문
7 개 강의746- 01for 반복문챌린지퀴즈
- 02while 반복문챌린지퀴즈
- 03foreach 반복문챌린지퀴즈
- 04키와 값으로 반복하기챌린지퀴즈
- 05break 문챌린지퀴즈
- 06continue 문챌린지퀴즈
- 07요약 - 데이터 반복하기챌린지
프로젝트: 간단한 할 일 목록
프로젝트7 개 강의1- 01프로젝트 개요 및 데이터챌린지
- 02새 작업 추가프로젝트
- 03모든 작업 표시프로젝트
- 04작업 완료 표시프로젝트
- 05작업 제거프로젝트
- 06완료 상태로 필터링프로젝트
- 07빈 목록 시나리오 처리프로젝트
Functions
8 개 강의857- 01Declaring & Calling Functions챌린지퀴즈
- 02Function Parameters챌린지퀴즈
- 03Returning Values챌린지퀴즈
- 04Default Parameter Values챌린지퀴즈
- 05Type Declarations for Params챌린지퀴즈
- 06Return Type Declarations챌린지퀴즈
- 07Variable Scope챌린지퀴즈
- 08Recap - Creating Reusable Code챌린지
Final Challenges
3 개 강의3- 01Challenge - Factorial Calc챌린지
- 02Challenge - Longest Word챌린지
- 03Challenge - Vowel Counter챌린지
섹션 2
논리 & 흐름
섹션 시작하기시작펼치기접기문제 해결 능력을 키우고 동적이고 상호작용적인 프로그램을 만드세요고급 함수
9 개 강의965- 01익명 함수챌린지퀴즈오디오
- 02클로저와 'use'챌린지퀴즈오디오
- 03화살표 함수챌린지퀴즈오디오
- 04콜백 함수챌린지퀴즈오디오
- 05'call_user_func' 사용하기챌린지퀴즈오디오
- 06가변 함수챌린지퀴즈
- 07참조에 의한 전달챌린지퀴즈
- 08재귀 함수챌린지퀴즈
- 09요약: 함수 메들리챌린지
고급 배열 조작
10 개 강의1066- 01'array_push'로 추가하기챌린지퀴즈
- 02'array_pop'으로 제거하기챌린지퀴즈
- 03'array_unshift'로 추가하기챌린지퀴즈
- 04'array_shift'로 제거하기챌린지퀴즈
- 05인덱스 배열 병합하기챌린지퀴즈
- 06연관 배열 병합하기챌린지퀴즈
- 07'array_slice'로 추출하기챌린지퀴즈
- 08'in_array'로 값 확인하기챌린지퀴즈
- 09'array_search'로 키 찾기챌린지퀴즈
- 10요약: 플레이리스트 연습 문제챌린지
배열 정렬
7 개 강의747- 01인덱스 배열 오름차순 정렬챌린지퀴즈
- 02인덱스 배열 내림차순 정렬챌린지퀴즈
- 03연관 배열 값 기준 정렬챌린지퀴즈
- 04연관 배열 키 기준 정렬챌린지퀴즈
- 05자연 순서 정렬챌린지퀴즈
- 06'usort'를 이용한 사용자 정의 정렬챌린지퀴즈
- 07요약: 리더보드 정렬챌린지
다차원 배열
6 개 강의639- 012차원 배열 생성하기챌린지퀴즈
- 022차원 배열 요소에 접근하기챌린지퀴즈
- 032차원 배열 요소 수정하기챌린지퀴즈
- 04중첩 루프로 반복하기챌린지퀴즈
- 052차원 연관 배열챌린지퀴즈
- 06요약: 간단한 그리드 연습챌린지
학생 성적부
6 개 강의6- 01프로젝트 설정: 데이터 구조챌린지
- 02새로운 학생 추가하기챌린지
- 03학생에게 성적 추가하기챌린지
- 04학생 평균 점수 계산하기챌린지
- 05우수 학생 찾기챌린지
- 06성적표 생성하기챌린지
고차 배열 함수
7 개 강의745- 01'array_map'으로 데이터 변환하기챌린지퀴즈
- 02사용자 정의 함수와 'array_map'챌린지퀴즈
- 03'array_filter'로 필터링하기챌린지퀴즈
- 04사용자 정의 함수와 'array_filter'챌린지퀴즈
- 05'array_reduce'로 데이터 축소하기챌린지퀴즈
- 06'array_walk'로 배열 순회하기챌린지퀴즈
- 07요약: 데이터 처리챌린지
날짜와 시간 다루기
6 개 강의539- 01'date()' 함수퀴즈
- 02'time()'을 이용한 Unix 타임스탬프챌린지퀴즈
- 03DateTime 객체 소개챌린지퀴즈
- 04DateTime 객체 포맷팅챌린지퀴즈
- 05DateTime 객체 수정하기챌린지퀴즈
- 06요약: 날짜 계산챌린지
오류 및 예외 처리
7 개 강의650- 01PHP 오류 이해하기퀴즈
- 02'try...catch' 블록챌린지퀴즈
- 03'finally' 블록챌린지퀴즈
- 04예외 발생시키기챌린지퀴즈
- 05사용자 정의 예외 생성하기챌린지퀴즈
- 06사용자 정의 예외 사용하기챌린지퀴즈
- 07요약: 입력 유효성 검사챌린지
이벤트 스케줄러
프로젝트6 개 강의1- 01이벤트 데이터챌린지
- 02새로운 이벤트 추가하기프로젝트
- 03다가오는 이벤트 목록 표시하기프로젝트
- 04날짜별로 이벤트 정렬하기프로젝트
- 05월별로 이벤트 필터링하기프로젝트
- 06카운트다운 표시하기프로젝트
최종 챌린지
4 개 강의4- 01챌린지: 회문 판별기챌린지
- 02챌린지: 문자 빈도 계산챌린지
- 03챌린지: 장바구니 총액 계산챌린지
- 04챌린지: 고유 아이템 필터링챌린지
섹션 3
객체 지향 프로그래밍
섹션 시작하기시작펼치기접기클래스, 객체 및 재사용 가능한 구조로 코드를 구성하는 방법을 알아보세요OOP의 기초
9 개 강의969- 01외부 파일챌린지퀴즈
- 02OOP 입문챌린지퀴즈
- 03클래스 vs 객체챌린지퀴즈
- 04$this 키워드챌린지퀴즈
- 05메서드챌린지퀴즈
- 06프로퍼티챌린지퀴즈
- 07생성자 (__construct)챌린지퀴즈
- 08소멸자 (__destruct)챌린지퀴즈
- 09요약 - 간단한 계산기챌린지
네임스페이스와 오토로딩
5 개 강의534- 01네임스페이스 소개챌린지퀴즈
- 02use 키워드챌린지퀴즈
- 03PSR-4 오토로딩 표준챌린지퀴즈
- 04Composer 오토로더챌린지퀴즈
- 05요약 - 정리된 프로젝트챌린지
클래스 프로퍼티
6 개 강의644- 01인스턴스 vs 정적 프로퍼티챌린지퀴즈
- 02클래스 내 상수챌린지퀴즈
- 03정적 메서드와 프로퍼티챌린지퀴즈
- 04Private 및 Protected 프로퍼티챌린지퀴즈
- 05Readonly 프로퍼티 (PHP 8.1)챌린지퀴즈
- 06요약 - 은행 계좌 관리 프로그램챌린지
상속
6 개 강의644- 01상속 기초챌린지퀴즈
- 02parent:: 키워드챌린지퀴즈
- 03메서드 오버라이딩챌린지퀴즈
- 04final 키워드챌린지퀴즈
- 05추상 클래스챌린지퀴즈
- 06요약 - 직원 계층 구조챌린지
인터페이스와 계약
6 개 강의644- 01인터페이스 소개챌린지퀴즈
- 02인터페이스 구현하기챌린지퀴즈
- 03다중 인터페이스 구현챌린지퀴즈
- 04인터페이스 vs 추상 클래스챌린지퀴즈
- 05인터페이스를 활용한 Type Hinting챌린지퀴즈
- 06요약 - 도형 계산기챌린지
다형성
5 개 강의536- 01메서드 오버라이딩 다시 살펴보기챌린지퀴즈
- 02인터페이스를 통한 다형성챌린지퀴즈
- 03타입 힌팅 & 유니온 타입챌린지퀴즈
- 04지연 정적 바인딩챌린지퀴즈
- 05요약 - 결제 처리기챌린지
캡슐화
6 개 강의645- 01Public, Protected, Private챌린지퀴즈
- 02접근 제어자 심화챌린지퀴즈
- 03Getter와 Setter챌린지퀴즈
- 04정보 은닉챌린지퀴즈
- 05생성자 프로모션 (8.0)챌린지퀴즈
- 06요약 - 학생 기록 시스템챌린지
매직 메서드
7 개 강의753- 01매직 메서드 소개챌린지퀴즈
- 02__toString 및 __debugInfo챌린지퀴즈
- 03__get, __set, __isset, __unset챌린지퀴즈
- 04__call 및 __callStatic챌린지퀴즈
- 05__clone 및 객체 복제챌린지퀴즈
- 06__serialize 및 __unserialize챌린지퀴즈
- 07요약 - 커스텀 컬렉션챌린지
트레이트
5 개 강의544- 01트레이트 소개챌린지퀴즈
- 02여러 트레이트 사용하기챌린지퀴즈
- 03트레이트 충돌 해결챌린지퀴즈
- 04트레이트의 추상 메서드챌린지퀴즈
- 05트레이트 vs 상속챌린지퀴즈
고급 OOP 개념
7 개 강의761- 01합성 vs 상속챌린지퀴즈
- 02의존성 주입챌린지퀴즈
- 03익명 클래스챌린지퀴즈
- 04Enums (PHP 8.1)챌린지퀴즈
- 05Fibers (PHP 8.1)챌린지퀴즈
- 06객체 복제 심층 분석챌린지퀴즈
- 07제너레이터와 이터레이터챌린지퀴즈
타입 시스템과 에러 핸들링
7 개 강의754- 01타입 선언챌린지퀴즈
- 02Nullable 타입챌린지퀴즈
- 03유니온 및 인터섹션 타입챌린지퀴즈
- 04예외 클래스챌린지퀴즈
- 05커스텀 예외 계층 구조챌린지퀴즈
- 06Try, Catch, Finally챌린지퀴즈
- 07요약 - Form Validator챌린지
디자인 패턴 파트 1
5 개 강의546- 01디자인 패턴 소개챌린지퀴즈
- 02싱글톤 패턴챌린지퀴즈
- 03팩토리 패턴챌린지퀴즈
- 04옵저버 패턴챌린지퀴즈
- 05전략 패턴챌린지퀴즈
디자인 패턴 파트 2
7 개 강의764- 01커맨드 패턴챌린지퀴즈
- 02어댑터 패턴챌린지퀴즈
- 03데코레이터 패턴챌린지퀴즈
- 04템플릿 메서드 패턴챌린지퀴즈
- 05상태 패턴챌린지퀴즈
- 06컴포지트 패턴챌린지퀴즈
- 07레포지토리 패턴챌린지퀴즈
프로젝트: 도서 관리 시스템
프로젝트6 개 강의1- 01프로젝트 개요챌린지
- 02도서 및 사용자 클래스프로젝트
- 03대출 시스템프로젝트
- 04검색 기능프로젝트
- 05관리자 인터페이스프로젝트
- 06테스트 및 통합프로젝트
최종 챌린지
4 개 강의4- 01E-러닝 플랫폼챌린지
- 02뱅킹 시스템챌린지
- 03게임 캐릭터 개발챌린지
- 04차량 대여 서비스챌린지
PHP 코스
브라우저에서 무료로 시작하는 실습형 PHP 코스.
입문자 챌린지 - 기초 개념 연습하기
인기여러분의 기초 코딩 지식을 테스트하고 프로그래밍 챌린지들을 해결해 보세요. 원하는 어떤 언어든 사용할 수 있습니다. 즐거운 코딩 되세요!
수료 시 인증서
- 20
- 20
코딩 문제
인기이 코스에서 제공하는 다양한 난이도의 연습 문제를 통해 여러분의 프로그래밍 문제 해결 능력을 시험해 보세요. 프로그래밍 언어의 기초 문법을 어느 정도 알고 있는 개발자를 위해 설계되었습니다.
수료 시 인증서
- 32
- 31
코딩 문제: 2편
이 코스에서 제공하는 다양한 난이도의 연습 문제를 통해 여러분의 프로그래밍 문제 해결 능력을 테스트해 보세요. 어떤 프로그래밍 언어든 기초 문법에 대한 사전 지식이 있는 분들을 위해 설계되었습니다. 이 코스는 '코딩 문제 1편'의 연장선상에 있습니다.
수료 시 인증서
- 25
- 24
스택 - 자료구조 시리즈 #1
이 코스에서는 스택 자료구조에 대해 배우고, 원하는 언어로 스택을 처음부터 직접 구현해 보며 다양한 코딩 챌린지를 연습합니다!
- 13
- 6
- 1
힙 & 우선순위 큐 - 자료구조 시리즈 #7
신규이 코스에서는 우선순위 큐의 핵심인 Heap 자료구조에 대해 배우고, 선호하는 언어로 MinHeap을 처음부터 직접 구현하며 다양한 코딩 챌린지를 연습합니다!
수료 시 인증서
- 14
- 6
- 1
별 찍기 부트캠프
프로그래밍 문제 해결 능력을 발휘하여 기초부터 복잡한 수준까지 다양한 별 패턴을 출력하는 방법을 배워보세요. 다양한 수준의 중첩 반복문, 조건문, 그리고 수학적 계산을 활용하는 법을 익힐 수 있습니다.
- 30
- 28
Coddy에서 PHP을 배우는 이유
- 브라우저에서 실제 PHP 코드를 실행합니다. XAMPP, Apache, 로컬 서버 설정 모두 필요 없습니다. 각 레슨이 PHP를 서버 사이드에서 실행하고 결과를 즉시 보여줍니다.
- 오늘날 실제로 쓰이는 방식 그대로의 웹용 PHP - 변수, 제어 흐름, 함수, 배열, include, 폼, superglobals, 세션, 그리고 기본적인 데이터베이스 패턴까지. 모든 웹 개발자에게 필요한 PHP의 기초입니다.
- AI 힌트가 정답을 바로 알려주지 않으면서 PHP 에러를 디버깅하고 경고 메시지를 풀어내도록 도와주기 때문에, undefined index나 따옴표 처리 같은 흔한 문제들이 막다른 길이 아니라 배움의 순간이 됩니다.
- 과정을 마치면 받는 무료 PHP 수료증. PHP가 여전히 기본 요건인 웹 개발, WordPress, Laravel 직군에 신뢰감 있는 증빙이 됩니다.