【解説付き】プロゲートPHP2周目終わりました。理解が深まった。

f:id:gharuto:20201118231604j:image

プロゲートPHP、2周目が終わりました。

ちょうど課金期間(1ヵ月)が終わる頃なので予定通りです。

2周目やってみて、だいぶ理解が深まりました。

ほぼ全て理解できたと言っていいでしょう。

コード全体を眺めて頭を整理すると、そんなに難しいものではないということに気づきます。

オブジェクト指向の流れ。

コード全体を眺めていると、オブジェクト指向の流れがわかってきます。

【クラス内】

  1. クラスとプロパティを作る。
  2. コンストラクタを作る(自動的にプロパティに値がセットできるように)。
  3. ゲッターを作る(プロパティがprivateなので直接アクセスできないから)。
  4. セッターは、コンストラクタで値をセットするので基本的にいらない。

【インスタンス】

  1. インスタンスを作る。
  2. それらのインスタンスを配列にする。

【index.php】

  1. foreach文を作る(インスタンスの配列を順に表示するため)。
  2. プロパティの値(画像や名前や値段など)を表示する時にゲッターを使う。

という流れ。

コンストラクタ、ゲッター、セッターは型を覚えてしまおう。

何度も見ていると、コンストラクタとゲッターとセッターは型が決まっているのがわかります。

コンストラクタは、

public function __construct($△△,$▲▲){

$this->プロパティ名=$△△;

$this->プロパティ名=$▲▲;

}

ゲッターは、

public function get◯◯(){

return $this->プロパティ名;

}

セッターは、

public function set◯◯($△△){

$this->プロパティ名=$△△;

}

この型を覚えてしまいましょう。

セッターは、コンストラクタで値をセットしてしまうので基本的にいりません。

その他難しかった所など解説。

その他、難しかった所など解説していきます。

「クラスによって処理をわけよう」の所。

「クラスによって処理をわけよう」の所、

「フードクラスから呼び出すとエラーが出てしまう」と書いてあるのですが、

どこでエラーで出てしまうんだろう?と最初わかりませんでした。

要するに、

index.phpの「echo $menu->getType」の部分で、

typeプロパティはドリンクのものだけなのに$menuにはカレーとパスタも入っているのでエラーが出てしまうということです。

nameプロパティが2つある。

MenuクラスとUserクラスに、同じ名前のプロパティ「$name」があります。

ただ内容は違います。

紛らわしい…。

クラスが違えば同じプロパティ名を使ってもいいんですね。

「レビューとユーザーを紐付けよう」の所。

「レビューとユーザーを紐付けよう」の所も難しかった。

要するに、

いっぱいあるレビューの中から、ユーザーのnameプロパティと同じ名前を持つuserName

プロパティを持つレビューだけを取りだそう、ということです。

例えば、suzukiさんのレビューはどれかな~と探す場合、

いっぱいあるレビューの中からsuzukiというuserNameプロパティを持つレビューだけを取り出すということ。

instanceof。

instanceofはif文で使うと覚えましょう。

protected。

protectedってどんな時につかうんだっけ?疑問に思うと思います。

protectedオーバーライドした時に使うと覚えましょう。

プロゲートPHP総評。

プロゲートPHPはめちゃくちゃ難しいですが、

取り敢えず1周してコード全体を眺めてみると頭を整理しやすいです。

ただ、プロゲートPHPは注文サイトのようなものを作るので、

終えた後で何か作れるのかというと、

う~ん…私はイメージできません。

PHPというとお問い合わせフォームのイメージが強いですが、プロゲートPHPではやりません。

お問い合わせフォームを実装したいなら、私が前回やった「いきなりはじめるPHP本」がおすすめです。

今後の予定。

今後の予定は、まずは「いきなりはじめるPHP」本を参考に、

以前模写したイサラのサイトのお問い合わせフォームを、PHPを使って実装したいと思います。

その後は、WordPressに挑戦です。

タイトルとURLをコピーしました