これまで、一つの関数が格納されているクラスをたくさん見てきました。
見る度疑問に思っていたのですが、なぜ一つの関数だけをクラスに格納するのですか?
何か理由があるのですか?
下記に自分の考察を記します。
下記の二つに関しては、特に違いがないと思っています。
lang
1<?php 2class TestClass { 3 4 private $user_name = "hoge tarou"; 5 6 function middleNameIn1($middle_name) { 7 $name = explode(" ",$this->user_name); 8 $full_name = $name[0]." ".$middle_name." ".$name[1]; 9 return $full_name; 10 } 11 12 function middleNameIn2($middle_name ) { 13 $user_name = "hoge tarou"; 14 $name = explode(" ",$user_name); 15 $full_name = $name[0]." ".$middle_name." ".$name[1]; 16 return $full_name; 17 } 18} 19 20$tc = new TestClass(); 21$middle_name = "D"; 22$name = $tc->middleNameIn($middle_name); 23echo($name); 24?>
私としては、$user_nameがプライベートであることが一番の理由だと思っています。
そのため、グローバルなスコープではアクセスすることができないようにしたいのだと思います。
**middleNameIn1()**のケースでは、なぜ外に変数を出しているのかも知りたいです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。