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

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

(3.6)
27개의 수강평 ∙  401명의 수강생
PHP

55,000원

지식공유자: 정상우
총 71개 수업 (15시간 33분)
수강기한: 
무제한
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변: 미제공
폴더에 추가 공유

입문자를 위해 준비한
[웹 개발, 프로그래밍 언어] 강의입니다.

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

✍️
이런 걸
배워요!
PHP 7+ 기초문법
PHP 에서 사용하는 다양한 내장함수들
PHP 의 웹 보안 요소들
PHP 로 회원제 게시판 만들기
PHP 레거시 프로젝트 탈출
더 이상의 레거시는 그만,
과거를 이겨내고 미래로 나아가자!
정상우의 『어썸 라라벨』
어썸 라라벨

PHP 7+ 프로그래밍

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

커리큘럼

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

꼭 알아야 할 PHP 기초 문법

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

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

String, Password Hashing 등 PHP 프로그래밍을 하면서 꼭 알아야 할 내장 함수에 대해 배웁니다. 내용이 많아 보일 수 있지만, 게시판 만들기에서 상당 수 사용하게 됩니다. 다만 단순하게 나열하는 방식으로 진행되기 때문에 지루할 수 있습니다. 따라서 게시판 만들기를 먼저 진행하다가 내장 함수 파트를 보는 것도 한 가지 방법입니다.

*다른 챕터보다 내장 함수에서 유달리 다수의 중도포기가 발생합니다. 레퍼런스 방식으로 진행되므로 재미없기 때문입니다. 전부 다 하려고 하지 마시고, 해당 기능이 필요하다고 생각되는 때에 수강하는 것이 바람직합니다. 

보안을 잊지 마십시오.

Session, XSS웹 보안에 대해 익힙니다. 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)를 사용합니다.

예제코드

이 강좌의 예제코드는 깃허브 레포지토리에서 찾을 수 있습니다. 프론트엔드에 UIkit CSS Framework 와 텍스트 에디터로 CKEditor 5 를 사용합니다.

Q&A

2023년 07월 24일부터 개인적인 사유로 강의에 대한 질문을 받지 않고 있습니다. 하지만 이미 수년간 작성된 질의응답은 살펴볼 수 있습니다. 커뮤니티에서 질문을 찾아보실 것을 권합니다.

공식문서 & 서적

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

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

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

2020년 06월 09일 『PHP 7+ 프로그래밍: 객체지향』 강의가 공개되었습니다.

 

이제는 객체지향으로 한 발짝 앞으로 나아가야 할 때
『PHP 7+ 프로그래밍: 객체지향』
PHP 7+ 프로그래밍: 객체지향

이런 분들께 추천드려요!

🎓
학습 대상은
누구일까요?
PHP 를 배워보고 싶으신 분
PHP 로 웹 서비스를 구축해보고 싶으신 분
PHP 를 확실하게 알아보고 싶으신 분

안녕하세요
정상우 입니다.
정상우의 썸네일

https://github.com/pronist

커리큘럼 총 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일)
수강평 총 27개
수강생분들이 직접 작성하신 수강평입니다.
3.6
27개의 수강평
5점
4점
3점
2점
1점
VIEW 추천 순 최신 순 높은 평점 순 낮은 평점 순 평점 순 높은 평점 순 낮은 평점 순
Jeong Hei Hyun thumbnail
3
수업내용은 좋다.. 하지만 준비를 해오는지 의문이 든다.. 함수 설명 할때나 로직을 설명할때 왜? 쓰는지 어떻게 쓰는지 관해서는 초보자가 절실히 원하는 것인데... 어버버 한다.. 얼렁뚱당 넘어가서 1점 깍았다. 또한 얼렁뚱당 할때 발음도 많이 뭉개져서 잘 몰알아 듣는다. 수강생이 돈을 내고 수강 하는 이유는 함수를 쓰는 이유.. 로직이 어떻게 타는지 그렇걸 알고 싶은데 알려 주는 경우 거의 없다.. 당장 php 컨트롤러 관련된 동영상 인강이 아직 많지 않기 때문에 이거라도 봐야 한다면 이 강의를 추천합니다. :) 제발... 발음때문에 라면 제발 자막즘 달아 주세요.. 아! 댓글 잘 달아 주는건 좋다.. 물론 영양가 있게 뽑아 먹는건 수강생들의 몫.. 답변을 해준다고 했지.. 내가 원하는 내용만 쏙 말해 준다고는 안...ㅎ.ㅐ. 읍니다
2020-11-24
개foot thumbnail
5
좋은 강의 열어 주셔서 감사합니다. 이 강의 학생분들은 http 프로토콜을 이해하셨으며 php 강의 이지만, 웹을 만들기 시작하신분 들에게 웹의 전반적인 방향과 기초를 잡아 주기에 좋은 강의 였습니다. 개인적으로 처음 웹을 만들 때 기본 보안 쪽을 어떻게 구성해야 하는 부분에서 고민이 많은 분에게도 추천 합니다. 선생님께서 많은 질문에도 친철하게 알려주셔서 카피 프로젝트를 무사히 할 수 있었습니다.(제 질문이 참고 질문에 올라와서 영광이었습니다!!^^) 다음 강의를 기다리면서 바램은 코드 폰트를 약간 키워주셨으면 하네요.^^ 감사합니다!!
2020-03-15
지식공유자 정상우
으앗 수강평 남겨주셔서 감사합니다. 객체지향 쪽이 현재 문법 부분까진 제작이 되었는데, 그 다음 섹션부터는 폰트 크기를 올려야 할 듯 싶네요. (이 강좌의 첫 번째 완강자십니다. Thank you!)
2020-03-16
고수 thumbnail
3
발음 정확하게 해줬으면 좋겠다.. 뭐라고 말하시는데 집중해서 들어도 뭐라고 하는지 잘 안들린게 좀 아쉬움 강의 자체는 easy..
2020-07-22
지식공유자 정상우
수강평 감사합니다! 아무리 첫 강의라 그런지 발음이 어눌했던 점이 있던 것 같습니다. xD + 그리고 보니 .. 인코딩을 다시 해서 소리를 좀 키워야겠네요 .. ㅜㅜ
2020-07-22
Henu thumbnail
5
개발 업무의 주 언어는 JAVA이지만 PHP 5.* 버전으로 만들어진 레거시 프로젝트들을 유지보수 하고 있습니다. PHP 같은 경우 얇은 책 한권과 실무를 뛰면서 독학으로 익혔다고 보면되는데요. 고도화 작업을 진행할 때 PHP에 대한 깊은 지식이 없어 답답함을 많이 느꼈습니다. 하지만 이 강의를 듣고나니 PHP 기본 문법과 개발 방식에 대해 제대로 배워 볼 수 있는 기회가 되었네요. 물론, PHP 7 버전을 기준으로 학습을 했지만 이번 강의에서 배운 내용을 PHP 5.* 프로젝트에 적용을 시켜도 문제가 되진 않더라구요. 아마도 7 버전의 제대로된 학습은 OOP 강의부터 시작이 되겠지요. 저는 잠시 여기서 쉬어가며 회사 업무와 나름데로 복습을 진행하고 OOP 강의를 학습하려 합니다. 궁금한 내용에 대해 질문을 남기면 정성스럽게 답변해주신 강사님, 모던 PHP를 학습할 수 있는 기회를 만들어주신 강사님께 감사드립니다.
2020-11-22
지식공유자 정상우
강의를 봐주셔서 감사합니다. 돌이켜보면 설명이나 여러 측면에서 부족한 점이 많은 강의였는데, 이해가 되셨다니 다행입니다. 수강평 남겨주셔서 감사합니다. 객체지향 강의에서도 궁금한 점 있으시면 질문 던져주시기 바랍니다 ㅎㅎ
2020-11-22
devedu thumbnail
4
path패치, rewind리윈드 이 부분이 너무... 예... 뭐...
2020-11-16
지식공유자 정상우
아 발음하는 방법이 틀렸었네요 ㅋㅋㅋ 반성할게요. 그 외에 다른 부분은 괜찮으신가요? 다른 수강평에서 언급한 것 이외에 다른 부분에 문제가 있다면 말씀해주세요 :) 이후 강의에서 개선할 수 있을거에요.
2020-11-16
devedu
섹션4에서 레거시 프로젝트 예제를 만들고 문제점에 대해서 말씀하시고, 섹션5에서 이러한 부분을 수정하겠다고 하셨습니다. lib폴더에서 functions.php 파일을 만드실 때 그냥 게시판을 만들 때 이런 부분이 필요했었지 하고 복붙하는 느낌입니다. 물론 다 만들고 나면 이해가 되겠지만요. 실제로 구현할 때도 이렇게 한꺼번에 만드시나요? 섹션5를 시작하기 전에 라라벨을 구조를 따르는데 라라벨은 어떻고 나는 어떻게 폴더를 구성하였으며, 이 폴더가 어떻게 구성되었는지 왜 이렇게 만들었는지 설명해주시면 좋을 거 같아요. 레거시 코드 작성 때는 이러했었는데 이 부분을 이렇게 바꾸겠다. 미리 말씀하시고 강의를 진행해주시면 이해가 더 빠를 거 같아요.
2020-11-20
지식공유자 정상우
확실히 functions.php 를 만들 때 너무 한꺼번에 만든다는 생각을 버릴 수는 없는 것 같네요. 그 외에 추가적인 설명이 부족했던 것도 공감합니다. 좋습니다. 소중한 의견 감사드립니다. :)
2020-11-21
연관 로드맵
이 강의가 포함된 잘 짜여진 로드맵을 따라 학습해 보세요!