李涛自留地
回到顶部
首页 > php学习 > PHP魔术方法__get()和__set()如何使用 PHP魔术方法__get()和__set()使用实例

PHP魔术方法__get()和__set()如何使用 PHP魔术方法__get()和__set()使用实例

文章目录

在之前学习了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魔术方法__get()和__set()如何使用 PHP魔术方法__get()和__set()使用实例<?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魔术方法__get()和__set()如何使用 PHP魔术方法__get()和__set()使用实例李涛自留地原创文章,转载或复制请以超链接形式并注明出处。