【PHP】クラス、メソッド、プロパティの動的コール
目次
動的アクセス
プロパティに対しての動的アクセス
通常の場合、複数あるプロパティの変数にアクセスしたい場合、以下のように書きます。
1 |
|
例
以下のようなアイテムクラスの一覧を列挙したい
1 |
|
表示するには、1つずつのプロパティを呼び出して記述する必要がある
1 |
|
問題点は2つ
- プロパティ名と表示したい名前の結びつきがわかりにくい
- プロパティ数が多いと行が増えていき可読性が下がる
動的アクセスを使った場合
使うクラスは、最初のItemクラスと同じものを使う。
このように、Itemクラスに変数が増えたとしても、properties連想配列に組み合わせを追加するだけで、表示を追加できる様になる
1 |
|
メソッドの動的コール
1 |
|
メソッドの動的コールを行う際は、method_exists
を使用して呼び出したいメソッドをインスタンス化したクラスが持っているかをチェックしたほうがいい
1 |
|
クラスの動的コール
通常のクラスのインスタンス化との違いは、クラス名の前に$
があること
1 |
|
クラスの動的コールを行う際は、class_exists
を使用してインスタンス化したいクラス存在しているかチェックしたほうがいい
1 |
|
【PHP】クラス、メソッド、プロパティの動的コール
https://blog.djima.net/2021/05/18/【PHP】クラス、メソッド、プロパティの動的コール/