首頁 > 後端開發 > php教程 > php 魔術方法 深度理解 php 魔術 php php中的魔術方法

php 魔術方法 深度理解 php 魔術 php php中的魔術方法

WBOY
發布: 2016-07-29 08:49:18
原創
1076 人瀏覽過

??摘要:在trace yii框架源碼的時候,遇到__set()魔術方法的使用,有些疑惑,所以寫了demo來測試,果然發現了玄機,整理如下。

1. 先來看看書本上講魔術方法__set()是怎麼用的

??使用__set()魔術方法的目的是:在物件外部為私有屬性賦值,不能取得私有屬性的值。
??函數原型:

<code>void __set(string name,mixed value)
</code>
登入後複製

寫個demo:

<code><span><span>class</span><span>CModule</span> {</span><span>private</span><span>$_components</span> = <span>''</span>;

    <span>public</span><span><span>function</span><span>__set</span><span>(<span>$name</span>,<span>$value</span>)</span>{</span><span>$this</span>-><span>$name</span> = <span>$value</span>;
    }

    <span>public</span><span><span>function</span><span>echoPrivate</span><span>()</span>{</span><span>echo</span><span>$this</span>->_components;
    }
}

<span>$config</span> = <span>array</span>(
    <span>'_components'</span>=><span>'request'</span>
);
<span>$module</span> = <span>new</span> CModule();
<span>$module</span>->_components = <span>'request'</span>;
<span>$module</span>->echoPrivate();
<span>//打印结果是</span><span>//request</span></code>
登入後複製

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介紹了php 魔術方法 深度理解,包括了PHP 魔術方法的內容,希望對PHP教程有興趣的朋友有幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板