PHP 7+ 프로그래밍: 리부트

PHP 7+ 프로그래밍: 리부트

(5개의 수강평)

64명의 수강생
Back-EndPHP웹 개발
55,000원
지식공유자 · 정상우
70회 수업· 총 15시간 11분수업
평생 무제한 시청
수료증 발급 강의
수강 난이도 입문

이 강의는

기초 문법부터 내장 함수, 웹 보안, 게시판 만들기까지 PHP 언어를 시작하는 분들을 위해 바이블이 될 수 있게 만들어보고자 하는 마음으로 이번 강좌를 만들어보았습니다.

이런 걸 배울 수 있어요

  • PHP 7+ 기초문법
  • PHP 에서 사용하는 다양한 내장함수들
  • PHP 의 웹 보안 요소들
  • PHP 로 회원제 게시판 만들기
  • PHP 레거시 프로젝트 탈출

레거시 PHP 대신 꼭 알아야 할
최신 PHP 7+ 프로그래밍을 학습할 수 있습니다.

PHP 7+ 프로그래밍: 리부트

이 강좌는 기존에 있던 'PHP 7+ 프로그래밍' 강좌의 리부트 버전입니다. 기초 문법부터 내장 함수, 웹 보안, 게시판 만들기까지 입문초급단계에서 PHP 언어를 시작하는 분들을 위해 바이블이 될 수 있게 만들어보고자 하는 마음으로 이번 강좌를 만들어보았습니다.

이번 강좌에서는 PHP 프로그래밍 기초 문법부터 시작하여 내장 함수, 웹 보안, 게시판 만들기까지 웹 개발에 있어서 기초가 될 수 있는 부분을 이야기합니다. 기존에 있던 'PHP 7+ 프로그래밍' 강좌에서 다루지 않았던 여러 내장 함수들이나 게시판에서 단순 구현 뿐만이 아닌 함수화를 통해 코드의 품질 향상까지 도모할 수 있도록 구성해 보았습니다.

PHP 7 에서는 현재까지 PHP 7.4 버전이 마지막 버전이며 그 다음 버전은 메이저 버전이 변화하는 PHP 8 로 우리를 맞이하게 될 예정입니다. PHP 8 에서 JIT(Just In Time) 컴파일러의 도입 등으로 인한 퍼포먼스 변화로 볼 때 또 다시 PHP 세계에 지각 변동이 찾아올 것입니다.

+ 리부트 이전의 기존 "PHP 7+ 프로그래밍" 강의 학습자를 대상으로 50% 할인 쿠폰을 제공할 예정입니다. 기존 강의 공지를 확인해주세요!

어떤 것을 배우게 되나요?

꼭 알아야 할 PHP 기초 문법

PHP 7+ 버전에 해당하는 기본적인 문법을 익힙니다. 해당 강좌는 기본적으로 PHP 7.2 버전을 기준으로 하나 PHP 7.4 버전에 등장한 Arrow FunctionSpread Operator in Array 도 커버할 수 있도록 구성하였습니다. 따라서 강의를 천천히 따라오다보면 현재 시점으로 최신버전인 PHP 7.4 버전까지 익힐 수 있습니다.

http://docs.php.net/manual/en/langref.php

많이 사용하는 PHP 내장 함수들

String, Password Hashing 등 PHP 프로그래밍을 하면서 꼭 알아야 할 내장 함수에 대해 배웁니다. 내용이 많아 보일 수 있지만, 게시판 만들기에서 상당 수 사용하게 됩니다. 너무 많다면, 레퍼런스 형식으로 게시판 만들기를 먼저 진행하다가 내장 함수 파트를 보는 것도 한 가지 방법입니다.

http://docs.php.net/manual/en/extensions.membership.php

보안을 잊지 마십시오.

Session, XSS 등 웹 보안에 대해 익힙니다. PHP 는 타 언어에 비해 진입 장벽이 다소 낮기 때문에 오히려 보안과 같은 사항이 지켜지지 않는 경우가 많습니다. 이는 웹 어플리케이션 작성에 있어서 문제가 될 수 있으며 우리가 설령 보안 전문가는 아니라고 할 지라도 기본적인 보안 사항은 지켜줄 필요가 있습니다.  

http://docs.php.net/manual/en/security.php

결국, 게시판을 만들게 되어 있습니다.

레거시 프로젝트로 게시판을 만듭니다. 아무것도 없는 백지에서 index.php 를 작성하는 것을 시작으로 프로젝트가 진행됩니다. 이러한 게시판 프로젝트가 현재 프레임워크 위주로 개발되어 돌아가는 웹 어플리케이션 세계에 있어서 맞지 않을 수 있습니다. 하지만 PHP 의 프레임워크인 라라벨을 조금이라도 이해하기 위해서는 레거시로 프로젝트를 작성해볼 필요가 있으며, 놀랍게도 현장에는 레거시로 작성된 PHP 4, PHP 5 어플리케이션 또한 많습니다.

언제까지, 레거시입니까?

레거시로 작성한 게시판 프로젝트를 '어떤 아키텍쳐' 를 묘사하며 비슷하게 따라합니다. 객체지향으로 구현한 '진짜' 는 아니기에 언급하지 않습니다.  하지만 현재 존재하는 코드를 함수화 함으로써 코드가 극적으로 변화하는 모습을 볼 수 있습니다. 객체지향으로 구현해보는 것은 'PHP 7+ 프로그래밍: 객체지향' 에서 이야기 할 예정입니다.

강의를 듣기 전에 필요한 것들

개발 서버는 빌트인 내장 서버를 사용하지만, 필요에 따라 WAMP와 같은 도구를 사용하거나, PHP 매뉴얼을 참고해주세요.

  • PHP 7.2 - 7.4
  • 코드 편집기는 VSCode(Visual Studio Code)를 사용합니다.
  • 브라우저를 준비해주세요. (IE 싫어요)

예제코드 & QnA

이 강좌의 예제 코드는 아래의 깃허브 레포지토리에서 찾을 수 있습니다.
https://github.com/pronist/php7-lecture/tree/basic

게시판 프로젝트는 두 개의 브랜치로 나뉘어 있고, 각각 함수화 이전과 이후로 나뉘어 있습니다.

게시판에서 프론트엔드UIkit CSS Framework 와 텍스트 에디터로 CKEditor 5 를 사용합니다. 그에 대한 내용들은 다음의 링크에서 알아볼 수 있습니다.

* 예제코드버그일부 수정사항에 따라 강의의 내용과 약간 다를 수도 있습니다.

Q. 이 강좌 이후에는 어떤 것을 공부하면 좋을까요?

A. 객체지향 파트를 반드시 공부해야 합니다. 자료는 PHP 문서를 보는 것이 그나마 낫습니다. 물론, PHP 는 함수형 프로그래밍을 할 수도 있으므로 그것을 알아보는 것도 좋습니다. 그 외에 PHP Coding Stadnard, PSR(PHP Standard Recommendation) 등을 알아봐야 합니다. 한 가지 확실한 것은 객체지향을 공부하기 이전에 라라벨 프레임워크로 넘어가는 것은 지양하는 것이 좋습니다.

이 강좌의 다음 강좌는  'PHP 7+ 프로그래밍: 객체지향' 입니다. 이번 강좌에서 함수에 대한 이야기를 주로 했다면, 객체지향에서는 클래스와 객체에 대한 이야기를 주로하고, 그 뿐만 아니라 패키지매니저 등 조금 더 깊은 내용을 살펴봅니다.

2020년 06월 09일 'PHP 7+ 프로그래밍: 객체지향' 강의가 공개되었습니다.
https://www.inflearn.com/course/php7-oop

참고 할만한 질의 응답

참고 할만한 자료 & 서적

도움 되는 분들

  • PHP 를 배워보고 싶으신 분
  • PHP 로 웹 서비스를 구축해보고 싶으신 분
  • PHP 를 확실하게 알아보고 싶으신 분

교육과정

모두 펼치기 70 강의 15시간 11분
섹션 0. 우리 수업에 대하여
1 강의 08 : 08
섹션 1. 꼭 알아야 할 PHP 기초 문법
14 강의 171 : 19
02 - 기초 문법 (Basic syntax)
13 : 00
03 - 자료형 (Types) (1)
11 : 22
04 - 자료형 (Types) (2)
15 : 21
05 - 변수 (Variables)
13 : 08
06 - 상수 (Constants)
04 : 22
07 - 연산자 (Operators) (1)
18 : 07
08 - 연산자 (Operators) (2)
11 : 00
09 - 조건문 (if ~ elseif, else)
13 : 27
10 - 반복문 (for, foreach) (1)
08 : 29
11 - 반복문 (while, do ~ while) (2)
09 : 06
12 - 함수 (Functions) (1)
14 : 44
13 - 함수 (Functions) (2)
10 : 15
14 - 함수 (Functions) (3)
18 : 48
15 - 코드 분할 (include, require)
10 : 10
섹션 2. 많이 사용하는 PHP 내장 함수들
30 강의 373 : 17
16 - PHP Options/Info (1)
15 : 19
17 - PHP Options/Info (2)
07 : 27
18 - Error Handling
10 : 30
19 - Strings (1)
22 : 38
20 - Strings (2)
21 : 55
21 - Hash
09 : 26
22 - Password Hashing
11 : 05
23 - PCRE
22 : 54
24 - Math
07 : 41
25 - CSPRNG
03 : 38
26 - Array (1)
17 : 04
27 - Array (2)
06 : 33
28 - Variable Handling
13 : 35
29 - Filter
17 : 43
30 - Function Handling
07 : 50
31 - Date
15 : 52
32 - Network
11 : 25
33 - Sessions
14 : 18
34 - URLs
07 : 55
35 - cURL
08 : 46
36 - JSON
02 : 57
37 - Directory
06 : 44
38 - Filesystem (1)
23 : 50
39 - Filesystem (2)
08 : 43
40 - Streams (1)
13 : 33
41 - Streams (2)
11 : 37
42 - Readline
04 : 20
43 - Output Control
05 : 26
44 - Program Execution
20 : 40
45 - MySQLi
21 : 53
섹션 3. 보안을 잊지 마십시오.
5 강의 60 : 59
46 - 에러 보고 (Error Reporting)
05 : 40
47 - 파일 (File)
16 : 41
48 - 세션 (Sessions)
13 : 08
49 - SQL 주입 (SQL Injection)
09 : 00
50 - 크로스 사이트 스크립팅 (XSS)
16 : 30
섹션 4. 결국, 게시판을 만들게 되어있습니다.
10 강의 161 : 32
51 - 게시판 강의 소개 (Introduction)
05 : 53
52 - 부트스트랩 (Bootstrap)
11 : 19
53 - 레이아웃 (Layouts)
14 : 48
54 - 유저 (User; Register)
17 : 32
55 - 인증 (Auth; Login, Logout), 유저 (User; Update)
16 : 40
56 - 게시글 (Post; Write) (1)
27 : 34
57 - 게시글 (Post; Index) (2)
23 : 45
58 - 게시글 (Post; Read, Delete) (3)
21 : 31
59 - 게시글 (Post; Update) (4)
12 : 45
60 - 현재 작성한 게시판의 문제점 (Problems)
09 : 45
섹션 5. 언제까지, 레거시입니까?
10 강의 136 : 18
61 - 디렉토리 (Directories)
04 : 04
62 - 함수 (Functions; Database) (1)
12 : 21
63 - 함수 (Functions; Functions) (2)
21 : 08
64 - 프로바이더 (Providers)
10 : 08
65 - 미들웨어 (Middlewares)
07 : 16
66 - 뷰, 컨트롤러, 서비스 (View & Controller & Service)
23 : 28
67 - 인증 (Auth)
11 : 01
68 - 유저 (User)
12 : 29
69 - 게시글 (Post)
24 : 10
70 - 이미지 (Image)
10 : 13

공개 일자

2020년 2월 24일 (마지막 업데이트 일자 : 2020년 2월 26일)

수강 후기

4.6
5개의 수강평
default_profile.png
최병욱 2달 전
php 강의가 별로 없는데 좋은 강의를 듣게 되어 감사드립니다 객체지향 강의도 많이 기대 됩니다.
정상우

정상우 2달 전
수강평 감사합니다 :) 기대하신다니 어깨가 무거워지네요 ㅜㅜ ㅋㅋ

default_profile.png
개Foot 3달 전
좋은 강의 열어 주셔서 감사합니다. 이 강의 학생분들은 http 프로토콜을 이해하셨으며 php 강의 이지만, 웹을 만들기 시작하신분 들에게 웹의 전반적인 방향과 기초를 잡아 주기에 좋은 강의 였습니다. 개인적으로 처음 웹을 만들 때 기본 보안 쪽을 어떻게 구성해야 하는 부분에서 고민이 많은 분에게도 추천 합니다. 선생님께서 많은 질문에도 친철하게 알려주셔서 카피 프로젝트를 무사히 할 수 있었습니다.(제 질문이 참고 질문에 올라와서 영광이었습니다!!^^) 다음 강의를 기다리면서 바램은 코드 폰트를 약간 키워주셨으면 하네요.^^ 감사합니다!!
정상우

정상우 3달 전
으앗 수강평 남겨주셔서 감사합니다. 객체지향 쪽이 현재 문법 부분까진 제작이 되었는데, 그 다음 섹션부터는 폰트 크기를 올려야 할 듯 싶네요. (개Foot 님은 이 강좌의 첫 번째 완강자입니다. Thank you!)

image
최광성 2달 전
PHP 레거시 코드는 정말 레거시라는 인상이 있었습니다. 본 강의로 PHP 함수 자체만으로도 안전하고 강력한 웹을 만들 수 있다는 것을 알 수 있었습니다.
정상우

정상우 2달 전
수강평 감사합니다 :) 함수로는 흉내만 낸 것이라 실제 다양한 프레임워크에서 사용하는 아키텍쳐와는 안 맞을 수도 있습니다. 객체지향 강좌에서는 더 완성도 높은 코드를 볼 수 있으실 겁니다.

최광성

최광성 2달 전
객체지향 강의도 기대가 되네요.

지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스