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

诸位看到这个标题可能首先想到的是__get魔术方法,窝也想到了,但是——因为我会需要用到json_encode($obj)来输出到JS访问,所以此处的some_attr只能为public。
那么在调用$obj->some_attr时就不能用__get来做了。。。有没有什么更“魔术”一点的方法。。?
我实在不想弄个$obj->to_json()这种东西。。。
蛊毒传说
浏览 330回答 2
2回答

慕勒3428872

你的意思是要在类内部指定哪些成员要被序列化吧:1)让你的类去实现Serializable接口(5.1就支持了),自己写个serialize方法返回json_encode过的数据;2)或者去实现JsonSerializable接口(5.4+)。

慕雪6442864

打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript