読者です 読者をやめる 読者になる 読者になる

ありがとう。また会おう。

まぁゆるりとやっていきますよと。

Docコメント

今時はフレームワークが活況なので、こういう心配もないのかもしれませんが
それでもまだまだ昔ながらのベタPHP(グローバルスコープにロジックべた書き)ってことも多いと思うんですよね。
特に昔の資産をひきずったものだと。


で、そういうソースコードを読んでてよく思うのが
「そのソースコード内や、requireしてる先の変数はわかるんだが、GETやPOSTでどんな変数が飛んでくるのかわからん」
ってこと。
GETやPOSTの変数って、一方通行の画面遷移ならある程度想像つくんですが
実は別の画面からも別のパラメータつけて飛んできてたりすると、わけがわからなくなりがちです*1


で、僕がソースを書く時は、そのPHPファイル先頭のDocコメントに、こんな感じで記録を残してます。

<?php
/**
 * ほげほげ機能のページ
 *
 * @global string $_POST['foo'] 【必須】ふがふがな値を格納
 * @global string $_POST['bar'] もけもけな数値を格納。省略時は0と見なす
 */

//以下、普通のソースコードを記述。

こういう用途で@globalを使うのが正しいのかはわからないんですが
変数を受け入れる側で、こういう変数を受け取りますよ〜って書いておくとだいぶわかりやすいと思います*2


あと、ページ間をまたぐ変数としては、$_SESSION もそうですね。
この3つだけでも、そのスクリプト内で、どういう変数を想定しているかを先頭に書いておくと、かなり有益だと思います。


他にも、俺んとこはこうしてるよ、とか、本当はこうするのが流儀だよ、てのがありましたら教えてください。(^_^)

*1:PHP4.2以前、register_global onなソースコードは特につらかった。。。

*2:逆に言えばそれ以外は保証しないと