Thumbnail
개발 · 프로그래밍 프로그래밍 언어

PHP 7+ 프로그래밍 대시보드

(3.8)
25개의 수강평 ∙  358명의 수강생

55,000원

지식공유자: 정상우
총 71개 수업 (15시간 33분)
수강기한: 무제한
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변이 제공되는 강의입니다
폴더에 추가 공유
입문자를 위해 준비한
[웹 개발, 프로그래밍 언어] 강의입니다.

기초 문법부터 내장 함수, 웹 보안, 게시판 만들기까지 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.4.21 TS(Thread Safe) (64bit)
  • XDebug 3.0.4 TS (64bit)
  • 코드 편집기는 VSCode(Visual Studio Code)를 사용합니다.
  • 브라우저를 준비해주세요. (IE 싫어요)

 

 

예제코드 & QnA

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

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

게시판에서 프론트엔드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

Q. 교재는 있나요?

A. 강의의 정식 교재는 없지만, 강사자 본인이 운영하고 있는 블로그에서 PHP 를 참고하시면 관련 정보를 얻으실 수 있습니다. 다만, 기본적인 부분을 위주로 이야기하고 있기 때문에 내장 함수라든가 게시판 프로젝트의 모든 것을 이야기하지는 않습니다. 즉, 강의에서 이야기하고있는 것과 커리큘럼이 일부 다릅니다.

https://pronist.tistory.com/36

참고 할만한 질의 응답

유머

 

참고 할만한 자료 & 서적

 

이런 분이 들으시면 좋아요!
🎓
이런 분들께
추천드려요!
PHP 를 배워보고 싶으신 분
PHP 로 웹 서비스를 구축해보고 싶으신 분
PHP 를 확실하게 알아보고 싶으신 분

안녕하세요
정상우 입니다.
정상우의 썸네일
커리큘럼 총 71 개 ˙ 15시간 33분의 수업
이 강의는 영상이 제공됩니다. 미리보기를 통해 콘텐츠를 확인해보세요.
섹션 1. 꼭 알아야 할 PHP 기초 문법
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 내장 함수들
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. 보안을 잊지 마십시오.
46 - 에러 보고 (Error Reporting) 미리보기 05:40
47 - 파일 (File) 16:41
48 - 세션 (Sessions) 13:08
49 - SQL 주입 (SQL Injection) 09:00
50 - 크로스 사이트 스크립팅 (XSS) 16:30
섹션 4. 결국, 게시판을 만들게 되어있습니다.
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. 언제까지, 레거시입니까?
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년 02월 24일 (마지막 업데이트일 : 2021년 07월 03일)
수강평 총 25개
수강생분들이 직접 작성하신 수강평입니다.
3.8
25개의 수강평
5점
4점
3점
2점
1점
VIEW 좋아요 순 최신 순 높은 평점 순 낮은 평점 순 평점 순 높은 평점 순 낮은 평점 순
Jeong Hei Hyun thumbnail
수업내용은 좋다.. 하지만 준비를 해오는지 의문이 든다.. 함수 설명 할때나 로직을 설명할때 왜? 쓰는지 어떻게 쓰는지 관해서는 초보자가 절실히 원하는 것인데... 어버버 한다.. 얼렁뚱당 넘어가서 1점 깍았다. 또한 얼렁뚱당 할때 발음도 많이 뭉개져서 잘 몰알아 듣는다. 수강생이 돈을 내고 수강 하는 이유는 함수를 쓰는 이유.. 로직이 어떻게 타는지 그렇걸 알고 싶은데 알려 주는 경우 거의 없다.. 당장 php 컨트롤러 관련된 동영상 인강이 아직 많지 않기 때문에 이거라도 봐야 한다면 이 강의를 추천합니다. :) 제발... 발음때문에 라면 제발 자막즘 달아 주세요.. 아! 댓글 잘 달아 주는건 좋다.. 물론 영양가 있게 뽑아 먹는건 수강생들의 몫.. 답변을 해준다고 했지.. 내가 원하는 내용만 쏙 말해 준다고는 안...ㅎ.ㅐ. 읍니다
2020-11-24
종혠 thumbnail
좋은 강의 열어 주셔서 감사합니다. 이 강의 학생분들은 http 프로토콜을 이해하셨으며 php 강의 이지만, 웹을 만들기 시작하신분 들에게 웹의 전반적인 방향과 기초를 잡아 주기에 좋은 강의 였습니다. 개인적으로 처음 웹을 만들 때 기본 보안 쪽을 어떻게 구성해야 하는 부분에서 고민이 많은 분에게도 추천 합니다. 선생님께서 많은 질문에도 친철하게 알려주셔서 카피 프로젝트를 무사히 할 수 있었습니다.(제 질문이 참고 질문에 올라와서 영광이었습니다!!^^) 다음 강의를 기다리면서 바램은 코드 폰트를 약간 키워주셨으면 하네요.^^ 감사합니다!!
2020-03-15
지식공유자 정상우
으앗 수강평 남겨주셔서 감사합니다. 객체지향 쪽이 현재 문법 부분까진 제작이 되었는데, 그 다음 섹션부터는 폰트 크기를 올려야 할 듯 싶네요. (이 강좌의 첫 번째 완강자십니다. Thank you!)
2020-03-16
Henu thumbnail
개발 업무의 주 언어는 JAVA이지만 PHP 5.* 버전으로 만들어진 레거시 프로젝트들을 유지보수 하고 있습니다. PHP 같은 경우 얇은 책 한권과 실무를 뛰면서 독학으로 익혔다고 보면되는데요. 고도화 작업을 진행할 때 PHP에 대한 깊은 지식이 없어 답답함을 많이 느꼈습니다. 하지만 이 강의를 듣고나니 PHP 기본 문법과 개발 방식에 대해 제대로 배워 볼 수 있는 기회가 되었네요. 물론, PHP 7 버전을 기준으로 학습을 했지만 이번 강의에서 배운 내용을 PHP 5.* 프로젝트에 적용을 시켜도 문제가 되진 않더라구요. 아마도 7 버전의 제대로된 학습은 OOP 강의부터 시작이 되겠지요. 저는 잠시 여기서 쉬어가며 회사 업무와 나름데로 복습을 진행하고 OOP 강의를 학습하려 합니다. 궁금한 내용에 대해 질문을 남기면 정성스럽게 답변해주신 강사님, 모던 PHP를 학습할 수 있는 기회를 만들어주신 강사님께 감사드립니다.
2020-11-22
지식공유자 정상우
강의를 봐주셔서 감사합니다. 돌이켜보면 설명이나 여러 측면에서 부족한 점이 많은 강의였는데, 이해가 되셨다니 다행입니다. 수강평 남겨주셔서 감사합니다. 객체지향 강의에서도 궁금한 점 있으시면 질문 던져주시기 바랍니다 ㅎㅎ
2020-11-22
YUNJAE KIM thumbnail
아 진짜 뭐라는거야..
2022-08-28
지식공유자 정상우
수강하기 어려우시다면 환불도 좋은 방법이랍니다. 환불을 권해드립니다. 인프런에 한 번 이야기 해보세요. 수강을 오늘 시작하셨기 때문에 충분히 가능 할겁니다. 만족 못하는 강의에 돈을 쓰기에는 너무 아깝잖아요~ ㅎ
2022-08-28
tt851124tt thumbnail
좋은 강의 였습니다 !!
2022-05-19
지식공유자 정상우
정말 고맙습니다 ㅠㅠ 좋지 않은 음질임에도 불구하고 끝까지 들어주셔서 감사합니다. 라라벨 강의에서는 더 나은 품질의 강의로 찾아뵙도록 하겠습니다. 감사합니다!
2022-05-19
연관 로드맵
이 강의가 포함된 잘 짜여진 로드맵을 따라 학습해 보세요!