여정
PHP 배우기
PHP을 처음부터 배우는 무료 온라인 강의입니다. 실습 과제, 실제 프로젝트, AI 힌트, 수료증과 함께 변수, 조건문, 반복문, 함수, 자료구조, 프로젝트 구조를 익힙니다.
27,978+ 명의 codders가 등록함
이 여정에 포함된 내용
AI 코딩 도우미
실습 중심의 대화형 강의
모든 레슨에 음성 나레이션 제공
지식을 확인하는 퀴즈
무료 수료증
커리큘럼
3 섹션230 개 강의205 챌린지1,395 퀴즈 문제01섹션 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챌린지
02섹션 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챌린지: 고유 아이템 필터링챌린지
03섹션 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 개 강의645- 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차량 대여 서비스챌린지
Coddy에서 PHP을 배우는 이유
- 무료 온라인 PHP 강의입니다. 설치나 환경 설정 없이 브라우저에서 첫 레슨부터 바로 연습할 수 있습니다.
- PHP 레슨은 단순 튜토리얼이 아닙니다. 각 개념마다 직접 코드를 작성하는 과제가 있어 실습으로 이해합니다.
- PHP 연습 문제에서 막히면 AI 힌트가 정답을 그대로 주지 않고 다음 단계의 사고 과정을 도와줍니다.
- PHP 과정을 마치면 LinkedIn이나 이력서에 추가할 수 있는 무료 수료증을 받을 수 있습니다.
PHP 학습에 대한 자주 묻는 질문
PHP은 배우기 쉬운가요?
네. 경험이 없어도 PHP을 시작할 수 있습니다. Coddy는 짧은 연습 문제로 나누어 문법을 이해하고 변수, 조건문, 반복문, 함수, 자료구조, 프로젝트 구조를 연습하며 자신감을 쌓게 합니다.
PHP을 배우는 데 얼마나 걸리나요?
PHP의 기초는 매일 연습하면 보통 1~2주 안에 익힐 수 있습니다. 실제 프로젝트를 편하게 만들려면 속도에 따라 1~3개월 정도를 잡는 것이 좋습니다.
PHP을 온라인에서 무료로 배울 수 있나요?
Coddy는 PHP 무료 온라인 강의를 제공합니다. 레슨, 코딩 과제, 퀴즈, 프로젝트가 있으며 모든 것이 브라우저에서 실행됩니다.
PHP을 빠르게 배우려면 어떻게 해야 하나요?
가장 빠른 방법은 매일 직접 작성하는 것입니다. Coddy에서는 짧은 설명 뒤 바로 실습하고 AI 힌트로 피드백을 받기 때문에 긴 영상보다 실습 시간이 많습니다.
완료하면 PHP 수료증을 받나요?
네. Coddy에서 PHP 과정을 완료하면 LinkedIn이나 이력서에 추가할 수 있는 무료 수료증을 받습니다.
PHP을 배운 뒤 무엇을 만들 수 있나요?
강의를 마치면 유용한 스크립트, 작은 앱, 자동화, 간단한 게임, 포트폴리오에 넣을 수 있는 프로젝트를 만들 수 있습니다. 더 고급 주제로 넘어갈 수 있는 기초도 갖추게 됩니다.