私は変数を持つクラスUserを持っています:private $ uPass;PHP OOP - 外部変数からvar_dumpでアクセスできるprivate変数?
私は、Userのインスタンスを作成し、そのインスタンスでvar_dumpを実行すると、すべてのプライベート変数がリストされていることに気付きましたか? これを無効にする方法はありますか?
class User
{
private $uId;
private $uName;
private $uPass;
private $uPowers;
$teamMembers[$count] = new User();
foreach ($teamMembers as $teamMember)
{
var_dump($teamMember);
}
そして、出力は単にパスワードを含むすべてのものを、示し ... は勿論、彼らは暗号化されているが、それでも彼らはこのようなアクセスできるようにしたくありません!
これを解決する正しい方法は何ですか?
var_dump()は、プライベート変数にアクセスするのと同じではありません。彼らはまだあなたのコードにアクセスすることはできません。あなたのクラス、デバッグツール、そしてリフレクションだけに。 –
var_dumpが問題である場合、[ReflectionClass](http://stackoverflow.com/questions/11604946/can-i-get-the-value-of-a-private-property-with-reflection)もチェックしてください データベースツールから隠すことができないように、値を「非表示」にすることはできません。 PHPで値を入力してDBでテストするのを避けることができます。 – Gectou4