【 PHP 】PHP8に入門してみた 198日目 PHPの基本 ( オブジェクト指向 クラス )

PHP8技術者認定初級試験 が始まるようなので 試験に向けて (できるだけ)勉強しようと思います! 使用する書籍は独習PHP 第4版(山田 祥寛)|翔泳社の本 (shoeisha.co.jp) となります。

オブジェクト指向

PHPはバージョン7からオブジェクト指向が取り入れられました。

そのためJavaとはオブジェクト指向プログラミングの趣向異なり、実装にクラスを使うことが必須ではありません。

本書でも「適材適所」的な趣旨が記載されています。

この章はさらりと😉

気になる部分だけメモです。

  • PHP7.4以降はプロパティにデータ型を宣言できる。(void collable mixedは除外)
  • プロパティ・メソッドはインスタンスに対して「動的に」追加できる。
    同一のクラスをもとに生成されたインスタンスであっても、それぞれが持つ変数が同一であるとは限らない。
  • コンストラクタは__construct
  • メソッドを動的にセットする場合は__set__callが呼び出され使用される
  • PHP8ではコンストラクタの省略構文が用意されている。
    <?php
    class Person {
      public function __construct(
        public string $firstName,
        public string $lastName
      ) {}
    }
  • デストラクタは__destruct
  • 静的メソッド内でインスタンスメソッド呼び出しに::は使用できない(PHP7.4ではOK。PHP8ではエラー)

 

メモ

しかしながら、どこでクラスを使ってどこで関数を使えばいいか初学者には難しい気もしました。

PHPPHP

Posted by raika@blog