您好,欢迎访问一九零五行业门户网

oop - PHP:如何在调用$obj->some_attr之前自动调用$obj->some_func()

诸位看到这个标题可能首先想到的是__get魔术方法,窝也想到了,但是——
因为我会需要用到json_encode($obj)来输出到js访问,所以此处的some_attr只能为public。
那么在调用$obj->some_attr时就不能用__get来做了。。。
有没有什么更“魔术”一点的方法。。?
我实在不想弄个$obj->to_json()这种东西。。。
回复内容: 诸位看到这个标题可能首先想到的是__get魔术方法,窝也想到了,但是——
因为我会需要用到json_encode($obj)来输出到js访问,所以此处的some_attr只能为public。
那么在调用$obj->some_attr时就不能用__get来做了。。。
有没有什么更“魔术”一点的方法。。?
我实在不想弄个$obj->to_json()这种东西。。。
你的意思是要在类内部指定哪些成员要被序列化吧:
1)让你的类去实现serializable接口(5.1就支持了),自己写个serialize方法返回json_encode过的数据;
2)或者去实现jsonserializable接口(5.4+)。
$name(); } protected function _var_a() { $this->var_a = 'a'; return $this->var_a; }}$test = new test();$test->_var_a;$str = json_encode($test);var_dump($str);
这是什么需求。还是我理解错了?
直接外部操作不就行了,何必这么繁。
其它类似信息

推荐信息