본문 바로가기

프로그램/php

PHP 입문 시작은 어디서 부터 하는 것이 좋을까?

 

배우는 순서

1. 기초 문법 학습

학습 리소스:

내용:

  • PHP 설치 및 설정
  • 기본 구문과 데이터 타입
  • 변수와 상수
  • 연산자
  • 제어 구조 (조건문, 반복문 등)

2. 함수와 배열

학습 리소스:

내용:

  • 함수 정의 및 호출
  • 매개변수와 반환값
  • 배열의 종류와 사용법 (연관 배열, 다차원 배열 등)
  • 배열 함수

3. 폼 처리 및 데이터베이스 연동

학습 리소스:

내용:

  • HTML 폼 데이터 처리
  • GET과 POST 메소드
  • MySQL 데이터베이스 기본 개념
  • PHP와 MySQL 연결 및 쿼리 실행

4. 세션과 쿠키

학습 리소스:

내용:

  • 세션 시작, 저장, 종료
  • 쿠키 설정 및 사용
  • 세션과 쿠키의 차이점 및 사용 사례

5. 객체지향 프로그래밍 (OOP)

학습 리소스:

내용:

  • 클래스와 객체
  • 상속, 인터페이스, 추상 클래스
  • 접근 제어자 (public, private, protected)
  • 생성자와 소멸자

6. MVC 프레임워크 학습

학습 리소스:

내용:

  • MVC 패턴의 이해
  • CodeIgniter 설치 및 설정
  • 컨트롤러, 모델, 뷰의 역할과 구현
  • 기본적인 CRUD 애플리케이션 개발

7. 실습 프로젝트

학습 리소스:

  • 개인 프로젝트 혹은 간단한 웹 애플리케이션 개발
  • GitHub에서 오픈 소스 PHP 프로젝트 탐색

내용:

  • 간단한 블로그, 게시판, 쇼핑몰 등 실습 프로젝트
  • 학습한 내용을 종합적으로 적용하여 프로젝트 완성

 

단계학습 내용추천 리소스
기초 문법 PHP 설치, 기본 구문, 변수, 상수, 제어 구조 PHP 공식 문서, W3Schools PHP Tutorial
함수와 배열 함수 정의, 호출, 배열 사용법 PHP Manual: Functions, W3Schools: PHP Arrays
폼 및 DB 연동 HTML 폼 처리, MySQL 연동 PHP Manual: Forms, W3Schools: PHP MySQL
세션과 쿠키 세션 관리, 쿠키 사용 PHP Manual: Sessions, W3Schools: PHP Sessions
객체지향 프로그래밍 클래스와 객체, 상속, 인터페이스 PHP Manual: Classes and Objects, W3Schools: PHP OOP
MVC 프레임워크 MVC 패턴, CodeIgniter 학습 CodeIgniter 공식 문서, CodeIgniter 4 공식 문서
실습 프로젝트 간단한 웹 애플리케이션 개발 개인 프로젝트, GitHub 오픈 소스 탐색

이 단계를 따라가면 PHP를 체계적으로 학습할 수 있습니다. 각 단계마다 충분히 연습하고 이해를 다진 후 다음 단계로 넘어가는 것이 중요합니다.

CI3는 CodeIgniter 프레임워크의 3번째 버전으로, 구조가 간단하고 이해하기 쉽습니다. 이는 초보자들이 프레임워크의 기본 개념을 익히기에 적합합니다. CI3는 오랜 기간 사용되어 왔기 때문에 다양한 튜토리얼, 예제 코드, 문서 등의 학습 자료가 풍부합니다. 이를 통해 초보자들이 쉽게 프레임워크를 이해하고 활용할 수 있습니다.

또한 CI3의 설정이 간단하여 빠르게 프로젝트를 시작하고 진행할 수 있습니다. 이는 초보자들이 실제로 프로젝트를 만들어보며 학습할 수 있는 기회를 제공합니다.

  1. 기본 설치 및 설정: CI3를 설치하고 기본 설정을 익힙니다.
  2. MVC 패턴 이해: 모델, 뷰, 컨트롤러의 역할을 배우고 간단한 애플리케이션을 만들어봅니다.
  3. 기본 CRUD 애플리케이션: 데이터베이스와 연동하여 기본적인 CRUD (Create, Read, Update, Delete) 애플리케이션을 개발합니다.
  4. 폼 처리 및 데이터 검증: 사용자 입력 폼을 처리하고 데이터 검증을 추가합니다.
  5. 세션 및 쿠키 관리: 세션과 쿠키를 사용하여 사용자 데이터를 관리합니다.

이와 같은 단계적 학습을 통해 초보자들은 CI3의 기본 개념을 차근차근 익히고, 실제 프로젝트를 개발하는 경험을 쌓을 수 있습니다. 이는 향후 더 복잡한 프레임워크와 기술을 배우는 데 도움이 될 것입니다.

 
 
 
 
 

CI4로 전환하기

CI3에서 충분히 익숙해진 후에는 CI4로 전환하는 것이 좋습니다. CI4는 최신 기능과 보안 강화, 모듈화된 구조 등을 제공하여 더 발전된 애플리케이션 개발이 가능합니다.

CI4 학습 단계

  1. CI4 설치 및 설정
  2. PSR-4 네임스페이스 이해
  3. 향상된 보안 기능 활용
  4. 모듈화된 애플리케이션 구조

요약

  • CI3부터 시작: 간단하고 직관적인 구조로 PHP와 MVC 패턴을 배우기 좋음.
  • CI4로 전환: CI3에 익숙해진 후 최신 기능과 보안을 제공하는 CI4로 전환하여 더 복잡한 애플리케이션 개발.
단계CI3CI4
설치 및 설정 간단하고 빠름 약간 복잡하지만 현대적임
MVC 패턴 쉽게 이해할 수 있음 더 모듈화되고 구조화됨
CRUD 애플리케이션 기본적인 데이터베이스 연동 고급 데이터베이스 기능 및 ORM 지원
폼 처리 및 검증 기본적인 검증 기능 제공 강화된 검증 및 보안 기능 제공
세션 및 쿠키 기본적인 세션 및 쿠키 관리 더 안전하고 유연한 관리 가능
보안 기능 기본적인 보안 기능 최신 보안 표준 준수

이러한 과정을 통해 단계적으로 학습하면 PHP와 CodeIgniter를 효과적으로 익힐 수 있습니다.

 
 

CodeIgniter 3 (CI3) vs CodeIgniter 4 (CI4) 비교

CI3 장점

  1. 학습 곡선이 낮음: 간단하고 직관적인 구조로 초보자도 쉽게 배울 수 있습니다.
  2. 경량 프레임워크: 빠른 성능과 적은 메모리 사용량.
  3. 광범위한 커뮤니티 지원: 오랜 기간 동안 개발되어 온 만큼 풍부한 자료와 커뮤니티 지원.

CI3 단점

  1. 기술적 제한: 최신 PHP 기능 부족.
  2. 구조적 한계: 대규모 애플리케이션에 비해 모듈화가 어려움.
  3. 지원 종료: 공식적인 업데이트가 점차 줄어들고 있음.

CI4 장점

  1. 최신 PHP 기능 지원: PHP 7.2 이상을 요구, 최신 기능과 성능 개선.
  2. 모듈화 및 네임스페이스: PSR-4 호환 오토로더와 모듈화된 구조.
  3. 향상된 보안: 더 강력한 보안 기능과 최신 보안 표준 준수.
  4. 유연한 구조: 대규모 애플리케이션을 위한 설계.

CI4 단점

  1. 학습 곡선: CI3에 비해 상대적으로 복잡한 구조로 인해 학습 시간이 더 필요.
  2. 경량성 감소: CI3에 비해 약간의 성능 감소 가능.
  3. 새로운 커뮤니티: CI3에 비해 아직 성숙하지 않은 커뮤니티와 자료.

속도와 개발 편의성 비교

항목CI3CI4
학습 곡선 낮음 높음
성능 빠름 약간 느림
최신 PHP 지원 부족 충분
보안 기능 기본적인 보안 강화된 보안
모듈화 제한적 고도화된 모듈화
커뮤니티 지원 광범위함 성장 중

프로젝트별 선택 가이드

  • 소규모 프로젝트: CI3는 간단한 설정과 빠른 개발 속도로 적합합니다.
  • 초보자 학습: CI3는 쉽고 빠르게 배울 수 있어 초보자에게 유리합니다.
  • 대규모 및 복잡한 프로젝트: CI4는 최신 기능과 구조를 통해 더 나은 확장성과 유지 보수성을 제공합니다.
  • 보안이 중요한 프로젝트: CI4는 강화된 보안 기능으로 적합합니다.

요약

CI3는 학습이 쉽고 빠른 성능을 제공하지만, 최신 기능과 보안 측면에서 제한이 있습니다. 반면, CI4는 최신 PHP 기능과 강화된 보안을 제공하지만, 상대적으로 학습이 어렵고 약간의 성능 저하가 있을 수 있습니다. 프로젝트의 규모와 요구사항에 따라 적합한 프레임워크를 선택하는 것이 중요합니다.