php __set魔術方法怎麼用

青灯夜游
發布: 2023-03-10 18:22:01
原創
1635 人瀏覽過

在php中,「__set()」方法在為目前環境下未定義或不可見的類別屬性賦值時,會自動呼叫;語法格式「public function __set($key, $value){ ...;}”,它接收兩個參數,一個表示屬性名字,一個表示屬性值。

php __set魔術方法怎麼用

本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦

在物件導向程式設計中,PHP 提供了一系列的魔術方法,這些魔術方法為程式設計提供了許多便利,在PHP 中的作用是非常重要的。 PHP 中的魔術方法通常以__(兩個底線)開始,不需要明確的呼叫而是在某種特定條件下自動呼叫的。

__set() 方法

在為目前環境下未定義或不可見的類別屬性賦值時,會自動呼叫 __set() 方法。定義此方法的語法格式如下:

public function __set($key, $value){ ... ... ; }
登入後複製

其中,參數 $key 是要操作的變數名稱,$value 為變數 $key 的值。

【範例】下面使用簡單的範例來示範一下 __set() 方法的使用。

'; } } $object = new Website(); $object -> name = 'php中文网'; $object -> url = '//m.sbmmt.com/'; $object -> title = 'PHP教程'; ?>
登入後複製

運行結果如下:

为“url”赋值“//m.sbmmt.com/”失败! 为“title”赋值“PHP教程”失败!
登入後複製

利用__set() 方法的特性,我們可以透過__set() 方法為類別中的使用private 關鍵字修飾的屬性進行賦值或修改。如下圖所示:

$key)){ $this -> $key = $value; }else{ echo '为“'.$key.'”赋值“'.$value.'”失败!
'; } } public function getUrl(){ echo $this -> url; } } $object = new Website(); $object -> name = 'php中文网'; $object -> url = '//m.sbmmt.com/'; $object -> title = 'PHP教程'; $object -> getUrl(); ?>
登入後複製

運行結果如下:

为“title”赋值“PHP教程”失败! //m.sbmmt.com/
登入後複製

推薦學習:《PHP影片教學

以上是php __set魔術方法怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!