このコードは同じものを出力します。私の質問は、これを行う正しい方法は何かです。最初のアプローチか2番目のアプローチですか?それとも良い方法がありますか?私はあるクラスの利点を他のものよりも見ない。クラスの変数 - 正しいアプローチ
<?php
class Client{
var $id;
var $email;
function __construct($id){
$this->id=$id;
}
public function get_email($db){
$sql = $db -> prepare(" SELECT email FROM users WHERE id = ? ");
$sql -> bind_param('i', $this->id);
$sql->execute();
$sql->bind_result($email);
if ($sql -> fetch()) {
return $this->email=$email;
}
else
return false;
}
}
class Client_{
public function get_email($db, $id){
$sql = $db -> prepare(" SELECT email FROM users WHERE id = ?");
$sql -> bind_param('i', $id);
$sql->execute();
$sql->bind_result($email);
if ($sql -> fetch()) {
return $email;
}
else
return false;
}
}
?>
のindex.php
<?php
$Client = new Client(1);
$a = $Client -> get_email($db);
print_r($a);
$Client_ = new Client_();
$b = $Client_ -> get_email($db, 1);
print_r($b);
?>
なぜ '$ id'を文字列として渡していますか?それはちょうどint、ちょうどことができますか? – Jon
私はコンストラクタで '$ db'を渡した後、何らかのデータが必要になるたびに関数' get_email'を実行したほうがいいと思います。 – hamczu
"より正確な"ことは、クラスで表現したりモデル化したいことによって異なります。 – deceze