개발 · 프로그래밍

/

프로그래밍 언어

PHP 7+ 프로그래밍

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

(3.7) 수강평 28개

수강생 428명

Thumbnail

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

이런 걸
배워요!

  • 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분)

강의 게시일: 
마지막 업데이트일: 

수강평

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