您好,匿名用户
随意问技术百科期待您的加入

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

0 投票

诸位看到这个标题可能首先想到的是__get魔术方法,窝也想到了,但是——

因为我会需要用到json_encode($obj)来输出到JS访问,所以此处的some_attr只能为public。
那么在调用$obj->some_attr时就不能用__get来做了。。。

有没有什么更“魔术”一点的方法。。?
我实在不想弄个$obj->to_json()这种东西。。。

用户头像 提问 2013年 11月1日 @ Emiya Shirou 上等兵 (438 威望)
分享到:

1个回答

0 投票
 
最佳答案

你的意思是要在类内部指定哪些成员要被序列化吧:

1)让你的类去实现Serializable接口(5.1就支持了),自己写个serialize方法返回json_encode过的数据;

2)或者去实现JsonSerializable接口(5.4+)。

用户头像 回复 2013年 10月4日 @ Kayle 上等兵 (277 威望)
选中 2013年 9月7日 @Emiya Shirou
提一个问题:

相关问题

0 投票
1 回复 39 阅读
用户头像 提问 2012年 12月1日 @ Dionysus 上等兵 (229 威望)
0 投票
1 回复 43 阅读
+2 投票
1 回复 50 阅读
用户头像 提问 2013年 1月26日 @ Sona 上等兵 (306 威望)
0 投票
0 回复 194 阅读
用户头像 提问 2013年 9月8日 @ Sagittarius 上等兵 (289 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...