もうレガシーはやめて、
過去を乗り越えて未来へ進もう!
정常우の『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+ プログラミング』
5年ぶりに登場したPHP 8について知る時間
[無料] 『PHP 8、新機能を知る』