PHP魔术方法__get()和__set()如何使用 PHP魔术方法__get()和__set()使用实例
- 2022年12月13日
- 720 次
在之前学习了PHP的构造方法和析构方法,其实构造方法和析构方法都属于是PHP的魔术方法之一,那么在PHP中还有哪些魔术方法?接下来的几篇文章将记载一些PHP魔术方法的使用,今天主要记载的是PHP魔术方法__get()和__set()的使用方法。
PHP魔术方法的简单特征
在文章开头也提到了前面学习过的构造方法和析构方法,他们都属于PHP的魔术方法,PHP的魔术方法有一个比较简单的特征,就是都以两个_英文下划线开始,一般带有两个英文半角状态下的下划线都是PHP魔术方法。
__set()方法
当我们在给不可访问的属性赋值时,__set()方法就会被调用这个属性。
1、语法格式:
public __set(string $name,mixed $value);
2、语法参数:
(1)、$name:属性名;
(2)、$value:属性值
__set()方法是在赋值的时候使用。
__get()方法
当我们在读取不可访问属性的值时,会使用__get()方法来读取这些属性的数据。
语法格式:
publice __get(string $name)
$name:属性名,__get()方法只有一个参数$name。
__get()和__set()的使用实例代码
1、未使用__get()和__ste()方法的实例
<?php
class player{
private $name;
private $sex;
public $age = 18;
public $height = 175;
}
$player = new player;
echo $player->age.'<br>';
echo $player->height;
echo '<hr>';
echo $player->name;
?>
<?php
class player{
private $name;
private $sex;
public $age = 18;
public $height = 175;
function __get($getname){
return '测试一下__get()魔术方法';
}
function __set($Name,$value){
echo '测试__set()魔术方法';
}
}
$player = new player;
echo $player->age.'<br>';
echo $player->height;
echo '<hr>';
echo $player->name;
echo '<br>';
echo $player->sex;
echo '<hr>';
echo $player->sex= '测试';
?>
李涛自留地原创文章,转载或复制请以超链接形式并注明出处。
- PHP in_array()、array_search()、array_key_exists() 查找函数对比 2026-07-02
- PHP array_flip() 和 array_key_exists() 详解:反转键值与键名判断 2026-07-02
- PHP类的自动加载函数如何使用?PHP类的自动加载使用实例 2022-12-22
- PHP类中public、protected、private的区别 PHP类中public、protected、private实例代码 2022-12-07
- PHP array_combine() 函数详解:用两个数组构造键值对 2026-07-02
- PHP魔术方法toString方法如何使用?PHP魔术方法toString方法使用实例 2022-12-21
