※ ChatGPTを利用し、要約された質問です(原文:PHP5での参照渡しについて)
PHP5で参照渡し、オブジェクト、$_POSTや$_GETについて
このQ&Aのポイント
PHP5では、参照渡しはデフォルトではなく、&を使用する必要があります。
オブジェクトはclassと同義であり、classを使用する場面が好ましいです。
$_POSTや$_GETの値を変数に格納する際、処理後に別の変数に格納する方法が一般的です。
お世話になっております。
3点質問させて下さい。
1.PHP5での参照渡しについて
PHP5では、参照渡しがデフォルトという記事を読んだのですが、classを使わず、以下のようにfunctionのみで記述した場合、参照渡しになっている気配がありません。
-
$test = "テスト";
function a($a){
$a = "参照渡し";
}
a($test);
echo $test;
-
結果:テスト
&$aとすると参照渡しになりますが、classを使わない場合はPHP5のデフォルトが参照渡しというのを意識する必要は無く、&を用いた参照渡しを利用する形で良いのでしょうか?
2.オブジェクトについて
オブジェクト=class だと思っても良いのでしょうか?
また、独立した関数では無く、classを利用した方が良い場面というのはどういう時なのでしょうか?
classやオブジェクト指向というものへの私の理解が足りてない事でこのような疑問を抱く事になっていると思います。
classやPHP5のオブジェクト指向について学習するのに便利な書籍やサイトなどあれば紹介して頂けないでしょうか?
3.$_POSTや$_GETについて
他の方のソースを見ていると、何かの処理後にPOSTの値を別の変数に入れている方が多いように思えます。
私もそれにならってPOSTの値をいじる場合は、
変数 = 関数($_POST["test"]);
とするようにしています。
ですが、
$_POST["test"] = 関数($_POST["test"]);
とするのは何か都合が悪い事があるのでしょうか?
要領を得ない質問で申し訳ありませんが、回答頂けましたら嬉しいです。
お礼
オブジェクト…。今後の課題として勉強してみる事にします。 まずは書籍の購入を検討してみます。 $_POSTの件も「変更しない」が基本であると納得しました。 確かに$_POST=入力値という認識で扱う事が多いので、後から見た場合に改変されている点を見落としてしまったりと、バグの原因にもなりそうですね。 ありがとうございました!