• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP魔术方法__GET、__SET使用实例_php技巧

php 搞代码 3年前 (2022-01-26) 27次浏览 已收录 0个评论

__get()  - 读取不可访问属性的值时,__get() 会被调用。

__set()  - 在给不可访问属性赋值时,__set() 会被调用。

<br /><?php</p><p>/**<br /> * 清晰的认识__get() __set()<br /> */<br />class Example {<br />    <br />    //公有的属性<br />    public $public = 'pub' ;<br />    //受保护的 - 子类中该属性可用<br />    protected $protected = 'pro';<br />    //私有的 - 只能此类使用此属性<br />    private $private = 'pri';<br />    <br />    //当访问对象中的属性不存在或者非公有属性的时候自动加载__get()方法<br />    public function __get($name){<div style="color:transparent">本&文来源gaodai^.ma#com搞#代!码网</div><strong>搞gaodaima代码</strong><br />        return '调用__get()方法:'.$name;<br />    }<br />    <br />    //当给对象的一个属性赋值的时候如果该属性不存在或者是非公有属性则自动加载__set()方法<br />    public function __set($name,$value){<br />        echo "\nname:".$name.',value:'.$value."\n";<br />    }<br />}</p><p>$example = new Example;<br />echo '<pre class="prettyprint linenums">';<br />echo $example->public."\n";<br />echo $example->protected."\n";<br />echo $example->private."\n";<br />echo $example->other."\n";<br />echo '<hr>';<br />$example->public = 'lic';   //这个赋值成功所有没有显示<br />$example->protected = 'tec';<br />$example->private = 'vat';<br />$example->other = 'er';<br />echo '<br />';<br />echo '打印 public 属性:'.$example->public;<br />

结果如下:

<br />pub<br />调用__get()方法:protected<br />调用__get()方法:private<br />调用__get()方法:other</p><p>name:protected,value:tec</p><p>name:private,value:vat</p><p>name:other,value:er</p><p>打印 public 属性:lic<br />

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP魔术方法__GET、__SET使用实例_php技巧
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址