「見えている処理」と「見えにくい処理」
プログラムはよく「思った通りには動かない。書いた通りに動く」と言われます。
初学者の頃、「思った通りに動かない」プログラムに苦労した経験がある方もいるのではないでしょうか。
例えば初級試験問題の for や while などがそうですが、プログラムは「書き方のルール」があり、処理の流れが比較的見えやすくなっています。
このあたりの「書き方のルール」が、特に慣れない頃は「面倒」でもあり、一方で「挙動が見えているため、コードを読む時に追いやすい書き方」になる、とも言えます。
ただ、プログラミングをしていくうちに「この条件の時にはこんな風に動いてほしい」といった要求も出てきます。
もちろんそういった時に「その条件の時には常にこのコードを書く」というやり方もあるのですが、上級試験問題に出てくるマジックメソッドなど、言語はいろいろと便利な機能を用意してくれています。
マジックメソッドなどを含めて、「条件がそろったら自動で動いてくれる」ような仕組みは、書き慣れてくるととても便利で、手になじむ道具になります。
また「マジックメソッドがないと実装しにくい」ような機能もあるため、ある程度以上のPHPでのプログラミングにおいては、知っておきたい機能にもなります。
しかし一方で、「コードを読む」側から考えた場合、特に「条件がそろったら自動で動いてくれる仕組み」を知らないまま、そういった仕組みがあるコードを読もうとすると、壁にぶつかります。
端的には「コードが追えない」といったことになります。理由は簡単で、「自動で動いてくれるから成り立っている」部分を読み解くことができないからです。
これが「見えにくい処理」です。
そのため、初級の頃で比較的簡単なコードを書く時には、まず「きちんと見えている処理を書けるようになること」が重要なのですが、上級になって、特に他人やAIが書いたコードを読む時には「見えにくい処理」を見ることができる知識が重要になります。
ぜひ、上級の試験問題も覗いてみて、少しずつ知識を増やしていきましょう。

