55,000원
[웹 개발, 프로그래밍 언어] 강의입니다.
기초 문법부터 내장 함수, 웹 보안, 게시판 만들기까지 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 Function, Spread 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
게시판 프로젝트는 두 개로 나뉘어 있고, 각각 함수화 이전과 이후로 나뉘어 있습니다.
- 결국, 게시판을 만들게 되어 있습니다.
https://github.com/php-courses-inflearn/php7/tree/main/ch4 - 언제까지, 레거시입니까?
https://github.com/php-courses-inflearn/php7/tree/main/ch5
게시판에서 프론트엔드에 UIkit CSS Framework 와 텍스트 에디터로 CKEditor 5 를 사용합니다. 그에 대한 내용들은 다음의 링크에서 알아볼 수 있습니다.
- UIkit: https://getuikit.com/
- CKEditor 5: https://ckeditor.com/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.ini: https://www.inflearn.com/questions/27056
- routes 설정: https://www.inflearn.com/questions/27766
- image: https://www.inflearn.com/questions/27903
- 세션과 쿠키에 대해 질문이 있는데요: https://www.inflearn.com/questions/31619
- Call to undefined function mysqli_connect() 에러: https://www.inflearn.com/questions/39965
- Functional PHP: https://www.inflearn.com/questions/92871
- 개발 환경 설정하기: https://www.inflearn.com/questions/76353
- 디버깅 하는 방법 알려주세요: https://www.inflearn.com/questions/89654
- assert 테스트를 많이 사용하지 않는 이유: https://www.inflearn.com/questions/325968
유머
- 강사가 너무 무책임해요: https://www.inflearn.com/questions/73265
- 마이크와 딕션이 너무 쓰레기같아요: https://www.inflearn.com/questions/534991
참고 할만한 자료 & 서적
- PHP Manual: http://docs.php.net/manual/en/index.php
- PHP Wiki: https://wiki.php.net/
- Laravel Framework: https://laravel.com/
- WAMP: https://bitnami.com/stack/wamp/installer
- 러닝 PHP: https://book.naver.com/bookdb/book_detail.nhn?bid=11823282
이런 분들께
추천드려요!
정상우 입니다.

