ドットインストール等でPHPを学習していると、データベースとデータのやり取りをするときに『$stmt』という変数が出てきた事がありありますよね。
実は、先日Exxeption $eの謎という記事を書いたのですが、もう一つ疑問だった$stmtについても触れておきたいと思い、本記事を書いています。
どうも性質なのか、$eや$stmtといったような突如として登場するような変数や関数が出てくると、解決理解せずにはいられないようなんです(笑)
そのため、同じような感覚を持っている方に向けて、本記事では$stmtの謎について触れつつ、注意事項等についても解説していこうと思います。
【PHP】$stmtの謎【$stmtって何?!】
$stmtはどこから表れたのか。
答えは、$stmtの意味に有りました。
$stmtの変数はどこから来ているのか
$stmtを使用している部分を見てみると、代入しているコードはデータベースをセレクトしていることが分かると思います。
$stmt = $pdo->prepare("INSERT INTO alumnos( nombre, apellidos) values ( 'Taylor','Swift' )");
上記のような感じで、ドットインストールやProgate等でも登場してくると思うのですが、ズバリ$stmtは『statement』の略称です。
セレクトやインサートする対象のデータベースを指し示すものを書く際に使用されることが多みたいですね。
ポイント
Statement=$stmt
いや、頭のキレる人なら書いているコードでなんとなく察しが付く人もいると思うのですが、殆どの場合はいわれたからそういうものだと捉えてコードを書いている場合がほとんどですよねきっと。
PHPに限らず、ほかの言語を学習しているときに同じように突如として現れるものを理解しないと、モヤモヤが頭の中に残って集中できなくなってしまうので僕は理解しないと済まない。
そう、public function (Request $request) { の$requestって何みたいな・・・(笑)
$stmtは任意の変数名にしても大丈夫?
$stmtは理解できましたが、別の名称にしても問題ないのか気になりますよね。
答えは、OK。
任意の変数名にしても問題は有りません。
しかし、あまりに分かりづらい変数名にするのは、おすすめできないですね。
なぜかというと、$stmtはPHPドキュメントで使用されている共通認識のような一面があるからです。
$stmt以外の変数にする場合の注意点
$stmt以外の変数にする場合は、パッと見て他の人が分かる変数名にしておくのが良いでしょう。
それこそ、$stateとか$dbStatusとかですね。
$dbStyleとかにすると、$stmtと一致しない場合が多いと思うので、変更するにしてもわかりやすい変数名に設定してあげるのが、親切になると思います。
グループワークをしていると、共同作業をしている人が書いたコードをいちいち解説してくれる時間がない場合がほとんどです。
そのため、自分が大変だと思う部分を相手にも感じさせないのも、できるプログラマーになるための一歩ではないかなと、ぼくは考えています。
$stmtは共通認識の変数と覚えるが吉かも
本記事では、$stmtの謎と題して、PDOを使用するコードを書く際に出現する$stmtについて解説を行いました。
プログラミングを学習していると、プログラミング初心者には初見のものが数多く登場してくると思います。
ひとつひとつ理解しなくても、なんとなく理解してコードを書いていける人であれば、本記事は不要な産物にだったかと思いますが、『理解したい人』にとっては面白い記事になったのではないでしょうか。
今後も、こういった豆知識的な記事も増やしていこうと思っているので、疑問が生まれた際にはブログでどんどんアウトプットしていくので、興味のある方は継続してSEITALITYを利用してもらえると嬉しいです。