概要

クラスは 「関連するデータ (プロパティ) と振る舞い (メソッド) を 1 つの設計図にまとめる」 ための仕組みだ。ユーザー情報を扱うときに $name $age $city といった変数を関数の引数で毎回受け渡ししていると、変数の組み合わせが散らばって追跡が難しくなる。クラスにまとめておけば「ユーザーという 1 つのまとまり」として扱えるようになり、関係するデータと処理がコード上の同じ場所に集まる。

PHP では class クラス名 { ... } の形でクラスを宣言し、中に public string $name; のようにプロパティを並べる。PHP 7.4 以降はプロパティに型宣言を付けられるようになり、User のインスタンスの $name には必ず文字列が入ると設計図に書けるようになった。これは関数引数の型宣言 (前章) と同じ考え方で、型のミスマッチを早期に検出できる。

このチャプターでまず腹落ちさせたいのは 「クラスの定義だけでは何も実行されない」 という性質だ。class User { ... } を書いてもインスタンスを作る (next chapter) までは画面に何も出ない。クラスは「タイ焼きの 型枠 」で、実際のタイ焼きは new を実行して初めて 1 個生まれる、というメンタルモデルを最初に固める。

学習目標

ドリル

no 内容
01 User クラスを定義する (name と age の 2 プロパティ)

演習: ドリル 01 — User クラスを定義する

問題

User という名前のクラスを定義してください。プロパティは次の 2 つ:

クラスを定義したあと、最後に echo "OK\n"; を実行してください。

期待される出力:

OK

ヒント

この章を AI に聞く

  1. 「ch01 — クラスを定義する」のつまずきやすいポイントを、初学者向けに3つ教えてください

    💬 ChatGPT 📘 Claude ✨ Gemini

  2. 「ch01 — クラスを定義する」について、自分の手で試せる練習問題を3つ出してください (難易度を上げながら)

    💬 ChatGPT 📘 Claude ✨ Gemini

  3. 「ch01 — クラスを定義する」を学んだ後、次に学ぶと良いトピックは何ですか?理由も教えてください

    💬 ChatGPT 📘 Claude ✨ Gemini

🎉 受講お疲れさまでした!

ch01 — クラスを定義する」を読み終えました。
学んだことを誰かに教えると、もっと記憶に残ります。

X で共有 Hatena LINE