私は、クエリー結果を表すためにphpクラスをコーディングしました。入力クエリでは、配列にキャストし、JSON(JSON_ENCODE)に変換してユーザーに返します。PHPは配列へのキャスト時に属性を隠す
ここでクラスのインターン "デバッグ"属性を定義したいと思います。これは出力にはありません。クラスをクラスにキャストして属性を非表示にするにはどうすればいいですか?
私は、クエリー結果を表すためにphpクラスをコーディングしました。入力クエリでは、配列にキャストし、JSON(JSON_ENCODE)に変換してユーザーに返します。PHPは配列へのキャスト時に属性を隠す
ここでクラスのインターン "デバッグ"属性を定義したいと思います。これは出力にはありません。クラスをクラスにキャストして属性を非表示にするにはどうすればいいですか?
private
またはprotected
を宣言してください。
class Foo
{
public $bar = 'bar';
private $baz = 'baz';
protected $quux = 'quux';
}
$f = new Foo();
echo json_encode($f);
結果:
{"bar":"bar"}
NB。 PHP 5が必要です(PHPマニュアルのVisibilityを参照)。
私は前に試しました - "\ u0000 * \ u0000debug"のようなものを返します:false – NaN
@NaN:ご覧のとおり、私はそれをテストしました。しかし、私の言葉を取ってはいけません:http://codepad.org/mSCdaBjT –
さて、私はエラーが見つかりました - 私は配列に鋳造... json_encode((array)$ f);動作しません...奇妙なしかし真実! – NaN