PHP5 之 __set()和__get() 函数

PHP5 之 __set()和__get() 函数
  1. classTestMagicFun{
  2. public$name='';
  3. public$email='';
  4. }
  5. $testObj=newTestMagicFun();
  6. $testObj->name='simple';
  7. $testObj->email='abc@gmail.com';
  8. $testObj->address='earthchina';
  9. 下面的代码在php4,php5中运行都无问题,而在实际的工作中,我们可能不想使用者对未声明的属性进行赋值,此时PHP4就无能为力了,还好在PHP5中有__set(),__get()这样的魔法方法可以用。
  10. 我们可以对上面的类进行一下改造
  11. classTestMagicFun{
  12. public$name='';
  13. public$email='';
  14. privatefunction__set($property,$value)
  15. {
  16. //在此处做一些特殊的处理
  17. print"notdefined{$property}";
  18. }
  19. privatefunction__get($property)
  20. {
  21. //在此处做一些特殊的处理
  22. print"notdefined{$property}";
  23. }
  24. }
  25. 然后再初始化一个对像
  26. $testObj=newTestMagicFun();
  27. $testObj->name='simple';
  28. $testObj->email='abc@gmail.com';
  29. $testObj->address='earthchina';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值