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

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

(2개의 수강평)

27명의 수강생
55,000원
지식공유자 · 정상우
70회 수업· 총 15시간 11분수업
평생 무제한 시청
수료증 발급 강의
수강 난이도 초급

이 강의는

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

이런 걸 배울 수 있어요

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

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

2020년 2월 기준 웹사이트 점유율 1위

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

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

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

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

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

2019년 스택오버플로우 '인기있는 언어' 8위

어떤 것을 배우게 되나요?

꼭 알아야 할 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. HTML5/CSS3, Javascript ES6+ 를 일부 알아두면 좋습니다. 하지만 몰라도 상관없습니다. 게시판을 만드는 과정에서도 에디터 부분을 제외하면 그 내용은 거의 언급하지 않습니다. PHP 에 대해 이야기하고 있는 강좌이므로 CSS 와 같이 시간 소모가 많이 되는 내용은 설명을 생략합니다.

Q. 국내에서 PHP의 위치는 어느정도 인가요?

A. PHP의 인기는 한 때 2000년대 초중반에 절정을 맞이했습니다. 현재까지도 PHP 프로젝트는 다수 존재하고 있으며  자바스프링 부트와 더불어 Node.js 의 출현으로 서버사이드 부분에서 조금씩 밀리고 있는 것은 사실이나, PHP 7라라벨 프레임워크의 출현으로 스프링 프레임워크와 맞설 준비를 하고 있습니다 (전자정부 싫어요) . 기존의 개발자들에게 PHP 의 인식이 좋지 않은 것은 PHP 4, PHP 5의 영향때문이며 이는 모던 PHP 7+ 에서 해결할 수 있는 여건이 마련되었습니다.

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

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

Q. 다음 강좌는 언제 나옵니까?

A. 이 강좌의 다음 강좌는  'PHP 7+ 프로그래밍: 객체지향' 입니다. 이번 강좌에서 함수에 대한 이야기를 주로 했다면, 객체지향에서는 클래스와 객체에 대한 이야기를 주로하고, 그 뿐만 아니라 패키지매니저 등 조금 더 깊은 내용을 살펴봅니다. 제작시기는 미정입니다. PHP 는 객체지향까지 해야만 비로소 어느 정도 알게된다고 볼 수 있기때문에, 객체지향 강좌는 제작을 할 예정입니다.

* 객체지향 강좌를 조금씩 제작하고 있습니다.
https://github.com/pronist/php7-lecture/tree/intermediate

참고 할만한 질의 응답

참고 할만한 자료 & 서적

도움 되는 분들

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

지식공유자 소개

웹 개발자에서 블록체인 개발자로 나아가기 위해 도약할 준비를 하고 있는 개발자입니다. 기술 자체에 흥미를 가지고 관찰하고 지켜보고, 알아봅니다. 여러가지 기술을 다양하게 익히고 있습니다. 한 가지에 집중하기 보다는 여러 측면에서 현상을 해석할 수 있는 다관점 지향 개발자가 되고자 합니다.

  • 국가기술자격 정보처리기사 및 기능사
  • 국가공인자격 SQL 개발자
  • 국가공인자격 ITQ OA Master

교육과정

모두 펼치기 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 - Control Structures (1)
13 : 27
10 - Control Structures (2)
08 : 29
11 - Control Structures (3)
09 : 06
12 - Functions (1)
14 : 44
13 - Functions (2)
10 : 15
14 - Functions (3)
18 : 48
15 - Control Structures (4)
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 - SQLInjection
09 : 00
50 - XSS
16 : 30
섹션 4. 결국, 게시판을 만들게 되어있습니다.
10 강의 161 : 32
51 - Introduction Board Project
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)
27 : 34
57 - Post (Index)
23 : 45
58 - Post (Read, Delete)
21 : 31
59 - Post (Update)
12 : 45
60 - Problems
09 : 45
섹션 5. 언제까지, 레거시입니까?
10 강의 136 : 18
61 - Directories
04 : 04
62 - Functions (Database)
12 : 21
63 - Functions (Functions)
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일)

수강 후기

아직 평가를 충분히 받지 못한 강의 입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!😄️️

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

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

default_profile.png
프레드 26일 전
우선 강의를 오픈 해주셔서 감사합니다.  php 5는 많이 사용해 봤지만 php7로 가면서 새로 바뀐 문법 그리고 함수 들을 배워 보고 싶어서 php 리부트 강의를 보게 되었습니다. 강의를 보면서 느낀 점은 우선적으로 이 강의는 초보들이 보는 것 보다 어느정도 숙달한 분들이 강의를 보는 것을 추천해드립니다. 왜냐면 강의를 보면 전반적인 설명이 금방 넘어가고 팁? 노하우에 대해선 설명이 없습니다. 저 또한 늘 상 쓰던 것 만 해봐서 새로운 문법을 마주치면 헤맬 경우가 있습니다. 이럴 때 강의에서 이 부분을 설명 해주면서 학습과 병행 하였으면 얼마나 좋았을까 아쉬움만 남습니다. 그리고 이런 부족한 부분들을 교재에 넣어주시면 훨씬 도움이 될 것 같습니다.
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스