Sessionオブジェクトには、 DBオブジェクトを使用して SQL ステートメントを実行するいくつかのメソッドがあるため、Session オブジェクトに渡されるDBオブジェクトのインスタンスを取得しました。このDBオブジェクトをSessionオブジェクトのプロパティに格納する予定でした。
テストの結果、 Sessionオブジェクト プロパティに格納されているDBprint_r
オブジェクトが公開されていることがわかりました。出力には、db ユーザー/パスワードが含まれていました。
したがって、 DBオブジェクトをプライベートな静的メンバーに格納して、 Sessionオブジェクトprint_r
で が呼び出されるたびにこの情報が公開されないようにするというのが私の考えでした。
これは受け入れられますか、それとも静的メンバーの単なる不適切な使用ですか?
プライベートオブジェクトのプロパティが公開されないようにするための推奨される方法は何print_r
ですか?
これがコードサンプルです。
前:
class Session
{
public __construct(DB $db)
{
$this->db = $db;
}
}
後:
class Session
{
private static $db;
pubic __construct(DB $db)
{
self::$db = $db;
}
}