강의

멘토링

커뮤니티

BEST
개발 · 프로그래밍

/

프로그래밍 언어

PHP 7+ 프로그래밍: 객체지향

PHP 객체지향, 내장 클래스, PSR, Composer, MVC(Model, View, Controller)까지 모던 PHP를 익히기 위한 근간을 이야기합니다.

(4.5) 수강평 19개

수강생 367명

  • 정상우

먼저 경험한 수강생들의 후기

수강 후 이런걸 얻을 수 있어요

  • PHP 객체지향 프로그래밍

  • PHP 내장 클래스와 인터페이스

  • PHP 마이크로 프레임워크 개발

  • PHP 패키지 매니저

  • MVC(Model, View, Controller)

더 이상의 레거시는 그만,
과거를 이겨내고 미래로 나아가자!
정상우의 『어썸 라라벨』
어썸 라라벨

PHP 7+ 프로그래밍: 객체지향

이 강좌는PHP 7+ 프로그래밍 강좌의 후속 강좌입니다. 다만 이전 강좌를 듣지 않더라도 기초지식이 있다면 따라올 수 있습니다.

커리큘럼

객체지향, 내장 클래스, PSR, Composer, MVC(Model, View, Controller)까지 모던 PHP를 익히기 위한 근간을 이야기합니다. 과정을 모두 마치게 되면 라라벨(Laravel)프레임워크을 시작할 준비가 되었다고 할 수 있습니다.

객체지향이 뭔가요?

PHP 객체지향 문법을 익힙니다. 클래스와 객체 기초부터 제네레이터, 참조 표현 등 모던 PHP에 추가된 다양한 기능을 공부합니다. 또한 상속과 문맥 키워드 등 PHP 언어만이 가진 특징에 대해서도 이야기하게 됩니다.

내장 클래스, 이 정도는 알아야지!

『PHP 7+ 프로그래밍』 강좌에서 이야기하지 않은 내용인 Classes, DateTime, Directory, Reflection, SPL 등 PHP 에서 사용하는 내장 클래스에 대해 알아봅니다. 추가적으로 Iterator, ArrayAccess 와 같은 인터페이스에 대해서도 알아봅니다. 물론 이 내용이 길다고 생각된다면 나중에 보아도 상관없습니다. 

PHP 표준 권장안이 뭔가요?

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 매뉴얼을 참고해주세요.

  • PHP 7.4.21 TS(Thread Safe) (64bit)
  • XDebug 3.0.4 TS (64bit)
  • 코드 편집기: VSCode(Visual Studio Code)를 사용합니다.
  • 예제코드: 『00 - 환경 (Environment)』 강의에서 다운로드 받을 수 있습니다. 

프론트엔드에 UIkit CSS Framework 와 텍스트 에디터로 CKEditor 5 를 사용합니다.

Q&A

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

공식문서 & 서적

 

레거시는 안녕,
입문자를 위한 모던 PHP 기초 바이블!
『PHP 7+ 프로그래밍』
PHP 7+ 프로그래밍
5년만에 등장한 PHP 8을 알아볼 시간
[무료] 『PHP 8, 새로운 기능 알아보기』
PHP 7+ 프로그래밍

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • PHP 7+ 프로그래밍: 리부트 수강자

  • PHP 객체지향 프로그래밍을 알아보고 싶으신 분

  • 모던 PHP 프로그래밍을 해보고 싶으신 분

선수 지식,
필요할까요?

  • PHP 7+ 프로그래밍: 리부트

안녕하세요
입니다.

1,819

수강생

82

수강평

187

답변

4.3

강의 평점

4

강의

前 소프트웨어 백엔드 개발자이자 現 프리랜서 생성형 AI 소프트웨어 강사로 활동하고 있습니다. ChatGPT, 프롬프트 엔지니어링 등 생성형 AI 활용에 관심있습니다. 예비창업자, 기획자와 같은 실무자를 대상으로 강의합니다. AI 전문가가 아니더라도 창업과 실무에서 AI를 활용하여 좋은 성과를 낼 수 있도록 돕습니다.

소셜

Github: https://github.com/pronist
BrunchStory: https://brunch.co.kr/@pronist
Email: pronist@naver.com
Tech blog: https://pronist.tistory.com

연재

저서

강의

오픈소스

  • 티스토리 프레임워크 『Tidory』 ― 티스토리 분야에서 가장 인기 있는 티스토리 테마 (🌟2.2K)

  • 티스토리 스킨 『hELLO』 ― 최초의 티스토리 테마 프레임워크 (🌟0.2K+)

커리큘럼

전체

41개 ∙ (10시간 10분)

해당 강의에서 제공:

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

수강평

전체

19개

4.5

19개의 수강평

  • henu님의 프로필 이미지
    henu

    수강평 9

    평균 평점 5.0

    5

    100% 수강 후 작성

    I can say that this is the best PHP lecture. I work on a legacy project of PHP 5.* version in my field. However, since PHP is not my main development language, I used to code only to the extent that there would be no errors with my shallow knowledge, but at some point, problems with legacy projects began to appear. For example, spaghetti coding is a given, and there are duplicate functions that handle the same processing, incorrect Truthy/Falsy determination, and even more, PHP environment settings are set to skip cases such as shallow errors (Warnings), etc. The moment I felt the seriousness of the situation, I wondered if PHP was originally coded like this, and at that moment, I thought about how I could code in PHP that would be easy to maintain, and that's when I found this precious PHP lecture on Inflearn. Thanks to this lecture, I had the opportunity to properly learn about PHP 7.* (modern) grammar and the directory structure of PHP frameworks. Thank you. If there is a lecture on the Laravel framework in the future, I will sign up for it right away! Oh, one thing I regret while taking the OOP part is that since I only practiced in a local environment, I became curious about how deployment is done in an actual operating environment (Linux/Unix, etc.). If the instructor has time, I would like you to cover operating environment deployment in the next lecture.

    • pronist
      지식공유자

      Thank you so much for your sincere review. In fact, even though it is a project that is still active in the market, PHP projects have a lot of legacy as you mentioned. PHP has played a really important role in the development of the Internet, but from the developer's perspective, the way PHP is used in the market was not so welcome. When I first encountered PHP in a project that was already written in the field, I wondered if this was really the limit of this language and thought about moving to another language. However, since PHP has a high degree of freedom in a non-framework environment, I realized that the results are very different depending on the developer, so I thought it would be a good idea to create a lecture so that many people can use PHP in a better way. I hope that there will be more developers like Henu who think about how to write in a better way when using PHP while in the field. As a side note, I excluded distribution because I am still immature in many areas :))

  • dirend79555님의 프로필 이미지
    dirend79555

    수강평 50

    평균 평점 5.0

    5

    95% 수강 후 작성

    I started rebooting and took the lecture now, and it was a lecture worth referring to when converting functional to object. I didn't understand everything after listening to it once, but it's a good lecture the more times I watch it. After this, if it's okay, it would be good to cover Laravel, and I hope there will be a lecture that teaches small know-how about servers while creating a real server without going too far from the topic, and creates a bulletin board. 👍

    • meimikim0440님의 프로필 이미지
      meimikim0440

      수강평 1

      평균 평점 5.0

      5

      12% 수강 후 작성

      It's still early days, but I'm listening hard. I needed a PHP object-oriented lecture, so thank you. The lecture structure is good, and the instructor explains everything one by one, but I feel like it's not a lecture style that feeds you easy understanding. When explaining a concept, rather than showing you the code right away, it would be better if you first briefly explain the definition of the term or concept, or when to use it. It may be because my skills are lacking, but when learning a concept that I'm seeing for the first time, it was hard to understand just through the lecture, so I had to look up documents and study first to follow along. That way, I could understand what the instructor said. I think it would be easier for those who already know the concepts to understand. Thank you for the great lecture! After listening to it, I plan to read the instructor's Laravel book ^^

      • frea7154님의 프로필 이미지
        frea7154

        수강평 1

        평균 평점 5.0

        5

        100% 수강 후 작성

        If you are using a legacy system below PHP 5 or want to learn object-oriented concepts of PHP, I recommend it. I was able to understand a lot in the part where I created a mini-framework using the MVC pattern in the latter half of the lecture, and used it to create a bulletin board. In the basic lecture, I created a bulletin board using a function, and by comparing the basic lecture and the object-oriented lecture, I was able to see how it was improved. ^^ I will also take the next Laravel lecture when it comes out.

        • zpunsss3275님의 프로필 이미지
          zpunsss3275

          수강평 3

          평균 평점 5.0

          5

          100% 수강 후 작성

          If you are thinking of working with Laravel or CI in the future, you must listen to this. Otherwise, you will probably end up writing code without knowing how the framework works. The more I study CI4, the more I realize how much knowledge this person has... I think you need to invest a lot of time compared to the lecture time to understand it overall. I did. However, I think this investment of time becomes your strength. If you keep looking up the documentation repeatedly for things you don't understand and study, You will feel how much thought went into this lecture and how much effort was put into conveying knowledge simply and neatly.

          • pronist
            지식공유자

            Thank you so much for your review. I put a lot of thought into making this course, so I'm really grateful that you noticed. I'm planning to do a Laravel course with a new microphone in the future :)

        ₩55,000

        정상우님의 다른 강의

        지식공유자님의 다른 강의를 만나보세요!

        비슷한 강의

        같은 분야의 다른 강의를 만나보세요!

        연관 로드맵

        강의가 포함된 로드맵으로 학습해 보세요!