PHP 객체지향, 내장 클래스, PSR, Composer, MVC(Model, View, Controller)까지 모던 PHP를 익히기 위한 근간을 이야기합니다.
이런 걸
배워요!
PHP 객체지향 프로그래밍
PHP 내장 클래스와 인터페이스
PHP 마이크로 프레임워크 개발
PHP 패키지 매니저
MVC(Model, View, Controller)
이 강좌는 『PHP 7+ 프로그래밍』 강좌의 후속 강좌입니다. 다만 이전 강좌를 듣지 않더라도 기초지식이 있다면 따라올 수 있습니다.
객체지향, 내장 클래스, PSR, Composer, MVC(Model, View, Controller)까지 모던 PHP를 익히기 위한 근간을 이야기합니다. 과정을 모두 마치게 되면 라라벨(Laravel)프레임워크을 시작할 준비가 되었다고 할 수 있습니다.
PHP 객체지향 문법을 익힙니다. 클래스와 객체 기초부터 제네레이터, 참조 표현 등 모던 PHP에 추가된 다양한 기능을 공부합니다. 또한 상속과 문맥 키워드 등 PHP 언어만이 가진 특징에 대해서도 이야기하게 됩니다.
『PHP 7+ 프로그래밍』 강좌에서 이야기하지 않은 내용인 Classes, DateTime, Directory, Reflection, SPL 등 PHP 에서 사용하는 내장 클래스에 대해 알아봅니다. 추가적으로 Iterator, ArrayAccess 와 같은 인터페이스에 대해서도 알아봅니다. 물론 이 내용이 길다고 생각된다면 나중에 보아도 상관없습니다.
PSR(PHP Standard Recommendation)에 대해서 알아봅니다. PHP 프로그래밍을 할 때 PHP-FIG 에서 이야기하고 있는 권장안이며 코딩 스타일(PSR-1, PSR-12), 오토로더(PSR-4) 등 우리가 알아야 할 내용들을 포함하고 있습니다. 따라서 이에대해 논의해봅니다.
웹페이지에 사용하는 코드를 전부 우리가 만들어야 할까요? 그렇지 않습니다. 세상에는 다양한 사람들이 만들어놓은 멋진 오픈소스 패키지가 많습니다. 우리는 이것들을 적극적으로 사용해야겠죠.
패키지 매니저, 그것이 바로 Composer 입니다. 이것을 사용하면 다양한 사용자가 만든 패키지를 사용할 수 있고, Packagist 레지스트리를 사용할 수 있습니다. 해당 수업에서는 PHP 패키지 중 하나인 Whoops 를 사용하여 패키지를 사용했을 때의 이점을 느껴봅니다.
프레임워크는 여러 라이브러리를 포함하고, 개발자가 편히 사용할 수 있도록 프로젝트 템플릿을 제공하거나 틀을 제공하곤 하는데, 우리는 MVC(Model, View, Controller)에 중점을 맞추어 사용할 수 있도록 구성해봅니다. 물론 여기서는 다른 사람이 만든 패키지는 일체 사용하지 않습니다. 여기서 만든 패키지는 직후에 나올 게시판 프로젝트에서 Composer 를 사용하여 다운 받고 직접 사용합니다.
MVC(Model, View, Controller), 객체지향을 적극적으로 사용하여 게시판 프로젝트를 탈바꿈합니다. 또한 '나만의 프레임워크 만들기' 에서 만든 패키지를 다운받고 직접 적용시켜보는 과정을 해볼 것입니다. 허나, 코드는 index.php 부터 처음부터 작성할 것이며 이전 강좌를 듣지 않았더라도 따라올 수 있도록 기존의 코드는 사용하지 않기로 하였습니다.
개발 서버는 빌트인 내장 서버를 사용하지만, 필요에 따라 WAMP와 같은 도구를 사용하거나, PHP 매뉴얼을 참고해주세요.
이 강좌의 예제코드는 깃허브 레포지토리에서 찾을 수 있습니다. 프론트엔드에 UIkit CSS Framework 와 텍스트 에디터로 CKEditor 5 를 사용합니다.
2023년 07월 24일부터 개인적인 사유로 강의에 대한 질문을 받지 않고 있습니다. 하지만 이미 수년간 작성된 질의응답은 살펴볼 수 있습니다. 커뮤니티에서 질문을 찾아보실 것을 권합니다.
학습 대상은
누구일까요?
PHP 7+ 프로그래밍: 리부트 수강자
PHP 객체지향 프로그래밍을 알아보고 싶으신 분
모던 PHP 프로그래밍을 해보고 싶으신 분
선수 지식,
필요할까요?
PHP 7+ 프로그래밍: 리부트
전체
41개 ∙ (10시간 10분)
02 - 클래스 기초 (Basics)
28:32
08 - 예외 (Exceptions)
13:35
10 - 참조 (References)
11:35
12 - 클로저 (Closure)
08:06
13 - 클래스 (Classes)
08:51
17 - 세션 (Sessions)
18:33
19 - 스트림 (Streams)
21:36
21 - 캐시 (Cache)
28:42