Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
BEST
Programming

/

Programming Language

PHP 7+ プログラミング: オブジェクト指向

PHPオブジェクト指向、組み込みクラス、PSR、Composer、MVC(Model, View, Controller)まで、モダンPHPを習得するための基盤について語ります。

  • pronist
PHP
oop

学習した受講者のレビュー

こんなことが学べます

  • PHP オブジェクト指向プログラミング

  • PHP 組み込みクラスとインターフェース

  • PHP マイクロフレームワーク 開発

  • PHP パッケージマネージャー

  • MVC(モデル, ビュー, コントローラー)

これ以上のレガシーはやめ、
過去を勝ち抜き、未来へ進みましょう!
首脳友の『アサムララベル』
アサムララベル

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)など、私たちが知っておくべきことが含まれています。したがって、これについて議論してみます。

いつまで自分で作って使うのですか?

Webページに使用するコードをすべて私たちが作るべきでしょうか?そうではありません。世界には様々な人々が作った素敵なオープンソースパッケージがたくさんあります。私たちはこれらを積極的に使うべきです。

パッケージマネージャ、それはまさにComposerです。これにより、さまざまなユーザーが作成したパッケージを使用でき、 Packagistレジストリを使用できます。このクラスでは、PHPパッケージの1つであるWhoopsを使用してパッケージを使用したことの利点を感じます。

独自のフレームワークを作成

フレームワークには複数のライブラリが含まれており、開発者が使いやすくするためにプロジェクトテンプレートを提供したり、フレームワークを提供したりします。もちろん、ここでは他の人が作ったパッケージは一切使用しません。ここで作成したパッケージは、直後に出てくる掲示板プロジェクト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)を使用します。

サンプルコード

このコースのサンプルコードはFitHub Repositoryで見つけることができます。フロントエンドに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,738

受講生

73

受講レビュー

187

回答

4.2

講座評価

4

講座

カリキュラム

全体

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 등)에는 어떻게 배포가 이루어지는지 궁금해졌습니다. 만약, 강사님의 시간적 여유가 되신다면 다음 강의에서는 운영환경 배포쪽도 다뤄주셨으면 좋겠습니다.

    • 정상우
      知識共有者

      정성어린 수강평 너무너무 감사합니다. 실제로 시장에서 아직까지도 현역으로 동작하는 프로젝트임에도 불구하고 PHP 프로젝트의 경우에는 말씀하신대로 레거시가 엄청 많습니다. PHP 는 인터넷의 발전에 있어서는 정말 중요한 역할을 해왔지만, 개발자의 입장에서 PHP 가 시장에서 쓰이는 방식은 그렇게 반갑지만은 않았지요. 저도 현업에서 이미 작성된 프로젝트에서 처음 PHP 를 마주했을 때, 정말 이 언어는 이게 한계인가를 고민하게 되어 타 언어로 이사를 가야하나 생각도 했었습니다. 다만, PHP 는 논프레임워크 환경에서 자유도가 정말 높은 만큼 개발자에 따라 그 결과물은 너무나도 다르다는 것을 인지하고 많은 이들이 PHP 를 보다 나은 방식으로 사용할 수 있도록 강의를 만들어보면 어떨까 싶었습니다. Henu 님처럼 현업에 있으면서 PHP 를 사용할 때, 보다 나은 방식으로 작성할 수 있는 방법을 고민하는 개발자가 많아졌으면 좋겠습니다. 여담으로 배포의 경우 저도 아직 미숙한 부분이 많아 제외했답니다 :))

  • 개foot님의 프로필 이미지
    개foot

    受講レビュー 47

    平均評価 5.0

    5

    95% 受講後に作成

    리부트를 시작해서 지금 강의도 들었는데, 함수형을 객체적으로 변환시 참고 할 만한 강의였습니다. 한번 들었던 것으로 이해는 다 되지는 않았지만, 여러번 볼 수 록 좋은 강의입니다. 이 후에 괜찮으시면 라라벨을 다루는 것도 좋고,주제가 살짝 벗어나지 않는 선에서 실 서버를 만들면서 서버에 대한 작은 노하우도 배우며 게시판을 만들어 보는 강의가 나오면 좋겠네요. 👍

    • Amber님의 프로필 이미지
      Amber

      受講レビュー 1

      平均評価 5.0

      5

      12% 受講後に作成

      아직 초반이지만 열심히 듣고 있습니다. php 객체지향 강의가 필요했는데 감사합니다. 강의 구성이 좋고 강사님께서 하나하나 알려주시지만 이해가 쉽도록 떠먹여주는 스타일의 강의는 아니라고 느껴집니다. 어떤 개념을 설명하실때 바로 코드로 보여주시기 보다는 먼저 용어나 개념의 정의 혹은 언제 사용하는지 등을 먼저 간단하게나마 설명해주시면 더 좋을 것 같습니다. 제 실력이 부족한 탓이겠지만, 처음 보는 개념을 배울 때 강의만으로는 이해가 어려워서 혼자서 문서 등을 찾아보고 먼저 공부해야 따라갈수 있었습니다. 그래야 강사님 말씀이 이해가 되더라구요. 이미 어느정도 개념을 알고 계신 분들은 이해하기 수월하실 것 같습니다. 좋은 강의 감사합니다! 다 들으면 강사님 라라벨 책도 보려고 합니다 ^^

      • frea님의 프로필 이미지
        frea

        受講レビュー 1

        平均評価 5.0

        5

        100% 受講後に作成

        PHP 5 이하의 레거시 시스템을 사용하고 있거나 PHP의 객체지향 개념을 잡고 싶다면 추천합니다. 강의 후반부의 MVC 패턴을 적용한 미니프레임워크를 만들어 보고 그걸 이용해서 게시판을 작성하는 부분에서 많이 이해할 수 있었습니다. 기초 강좌에서는 함수로 게시판을 작성했는데, 기초 강좌와 객체지향 강좌를 비교해 보면서 어떻게 개선되었는지를 잘 알 수 있었습니다. ^^ 다음 라라벨 강의도 나오면 수강할 겁니다.

        • 차무송님의 프로필 이미지
          차무송

          受講レビュー 3

          平均評価 5.0

          5

          100% 受講後に作成

          자신이 이후 라라벨이나 CI를 다룰 생각이 있다면 필수로 들으세요. 안그러면 framework가 어떤 식으로 돌아가는지도 모 르고 코드를 작성하게 될 것 같습니다. CI4를 공부하면 할수록 이 분이 얼마나 많은 지식을 가지고 계신지 체감하게 하네요... 강의시간에 비해 많은 시간을 투자해야 전체적으로 이해할 수 있다고 생각합니다. 저는 그랬습니다. 하지만 이런 시간 투자가 자신의 힘이 된다고 생각합니다. 이해안가는건 계속 반복해서 문서를 찾아보며 공부한다면 이 강의가 얼마나 고민하고 간단하게 깔끔하게 지식을 전달하기 위해 노력했는지 느끼실겁니다.

          • 정상우
            知識共有者

            수강평 달아주셔서 정말 감사합니다. 이 강의를 만들면서 나름대로 고민을 많이했었는데 알아주셔서 정말 고맙습니다. 추후 새로운 마이크와 함께 라라벨 강의도 진행예정이랍니다 :)

        ¥6,501

        pronistの他の講座

        知識共有者の他の講座を見てみましょう!

        似ている講座

        同じ分野の他の講座を見てみましょう!