강의

멘토링

로드맵

BEST
Programming

/

Programming Language

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

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

  • pronist
PHP
oop

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

こんなことが学べます

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

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

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

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

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

もうレガシーはやめて、
過去を乗り越えて未来へ進もう!
정常우の『Awesome Laravel』
어썸 라라벨

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,749

受講生

74

受講レビュー

187

回答

4.2

講座評価

4

講座

Github: https://github.com/pronist · Email: pronist@naver.com

カリキュラム

全体

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
            知識共有者

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

        ¥6,655

        pronistの他の講座

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

        似ている講座

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