강의

멘토링

커뮤니티

BEST
개발 · 프로그래밍

/

프로그래밍 언어

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

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

(4.5) 수강평 19개

수강생 366명

  • 정상우

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

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

  • 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,814

수강생

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% 수강 후 작성

    特にPHP講義の中で最高と言えるようです。 私は現業でPHP 5.*バージョンのレガシープロジェクトを引き受けて業務を進行したいと思います。 しかし、主な開発言語がPHPではないため、浅い知識でしかエラーが出ないレベルでしかコーディングをしなかったが、ある瞬間からレガシープロジェクトの問題点が見え始めた。 例えば、スパゲッティコーディングは当然知事同じ処理を担当する関数の重複、誤ったTruthy/Falsy判別、さらにPHP環境設定を操作して浅いエラー(Warning)のような場合はめくるように設定されており、等…深刻さを感じた瞬間、PHPはもともとこのようにコーディングするのか疑問点が聞こえ、 どうすればPHPでもメンテナンスが便利なコーディングができるかという気がした刹那インフラにこんな貴重なPHP講義を探すようになりましたね。 この講義のおかげで、PHP 7.*(モダンな)文法とPHPフレームワークのディレクトリ構造について正しく学ぶ機会がありました。ありがとうございます。 今後のララベルフレームワークの講義が出たら、すぐに受講申請します! ああ、一つのOOPパートまで受講しながら残念だった点は、ローカル環境でしか練習していないので、実際の運用環境(Linux/Unixなど)にはどのように配布が行われるのか気になりました。 もし、講師様の時間的余裕になったら、次の講義では運営環境配布の方も取り上げていただきたいと思います。

    • pronist
      지식공유자

      心のこもった受講評 ありがとうございます。 実際に市場でまだまだ現役で動作するプロジェクトであるにもかかわらず、PHPプロジェクトの場合には、おっしゃるようにレガシーがすごく多いです。 PHPはインターネットの発展において本当に重要な役割を果たしてきましたが、開発者の立場でPHPが市場で使われる方法はそんなに嬉しかったですね。私も現業で既に作成されたプロジェクトで初めてPHPに面した時、本当にこの言語はこれが限界なのか悩んでしまい、他の言語に引越しを行かなければならないとも思っていました。 ただ、PHPはノンフレームワーク環境で自由度が本当に高いだけに開発者によってその結果物はあまりにも違うことを認識し、多くの人がPHPをより良い方法で使用できるように講義を作ってみてはどうかと思いました。 Henu様のように現業にありながらPHPを使用する際、より良い方法で作成できる方法を悩む開発者が多くなってほしいです。 余談で配布の場合、私もまだ未熟な部分が多く除外しました:))

  • dirend79555님의 프로필 이미지
    dirend79555

    수강평 50

    평균 평점 5.0

    5

    95% 수강 후 작성

    リブートを始めて今の講義も聞きましたが、関数型をオブジェクト的に変換する際に参考にするほどの講義でした。一度聞いたことで理解は尽きませんでしたが、何度も見るほど良い講義です。 この後、大丈夫ならララベルを扱うのもいいし、主題がちょっと外れないラインで実サーバーを作ってサーバーに対する小さなノウハウも学び掲示板を作ってみる講義が出てほしいですね。 👍

    • meimikim0440님의 프로필 이미지
      meimikim0440

      수강평 1

      평균 평점 5.0

      5

      12% 수강 후 작성

      まだ序盤ですが、一生懸命聞いています。 phpオブジェクト指向の講義が必要だったのに感謝します。 講義構成が良く、講師様が一つ一つ教えていただけますが、理解しやすいように食い込んでくれるスタイルの講義ではないと感じられます。 どの概念を説明するときにすぐにコードで表示するよりは、まず用語や概念の定義あるいはいつ使用するかなどをまず簡単に説明していただければもっと良いようです。 私の実力が足りないせいでしょうが、初めて見る概念を学ぶ時、講義だけでは理解が難しくて、一人で文書などを探して先に勉強しなければ従えませんでした。そうすれば講師様のみことばが理解になりました。すでにある程度の概念を知っている方は理解しやすくなるようです。良い講義ありがとうございます!みんな聞いたら講師様ララベル本も見てみたいです^^

      • frea7154님의 프로필 이미지
        frea7154

        수강평 1

        평균 평점 5.0

        5

        100% 수강 후 작성

        PHP 5以下のレガシーシステムを使用しているか、 PHPのオブジェクト指向の概念をつかみたいならおすすめです。 講義後半のMVCパターンを適用したミニフレームワークを作ってみる それを利用して掲示板を作成する部分でたくさん理解できました。 基礎講座では関数で掲示板を作成しましたが、 基礎講座とオブジェクト指向講座を比較しながら どのように改善されたかがよくわかりました。 ^^ 次のララベル講義も出れば受講します。

        • zpunsss3275님의 프로필 이미지
          zpunsss3275

          수강평 3

          평균 평점 5.0

          5

          100% 수강 후 작성

          自分が以後ララベルやCIを扱うつもりがあれば必須と聞いてください。そうしないと、frameworkがどのように戻るのかわからず、コードを書くようになります。 CI4を勉強すればするほど、この方がどれだけの知識を持っているか体感させますね… 講義時間に比べて多くの時間を投資しなければ全体的に理解できると思います。私はそうでした。 しかし、このような時間投資が自分の力になると思います。 理解していないのは、何度も何度も文書を探して勉強するなら この講義がどれほど悩み、簡単にきちんと知識を伝えるために努力したのかを感じます。

          • pronist
            지식공유자

            受講評ってくれて本当にありがとうございます。

        ₩55,000

        정상우님의 다른 강의

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

        비슷한 강의

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

        연관 로드맵

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