Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

php __set()方法怎么用?

作者:淺墨   发布日期:2024-06-01   浏览:762

在PHP中,__set()方法是一个魔术方法,用于在给不可访问属性赋值时自动调用。它接受两个参数,第一个参数是属性名,第二个参数是属性值。

下面是一个使用__set()方法的示例:

class MyClass {
    private $data = [];

    public function __set($name, $value) {
        $this->data[$name] = $value;
    }

    public function __get($name) {
        return $this->data[$name];
    }
}

$obj = new MyClass();
$obj->name = 'John'; // 调用__set()方法,给name属性赋值
echo $obj->name; // 调用__get()方法,获取name属性的值

在上面的示例中,我们定义了一个MyClass类,其中有一个私有属性$data用于存储所有的属性值。当我们给一个不存在的属性赋值时,__set()方法会被自动调用,并将属性名和属性值作为参数传递给它。在__set()方法中,我们将属性名作为键,属性值作为值保存到$data数组中。

当我们使用$obj->name语法访问属性时,__get()方法会被自动调用,并返回对应的属性值。

需要注意的是,__set()方法只会在给不可访问属性赋值时调用,如果属性是可访问的,直接赋值不会触发__set()方法。

上一篇:怎么修改php上传文件的大小限制?

下一篇:php怎么修改session的生存时间

大家都在看

php session用法

php 定义常量

phpisset函数

php后端

php爬虫框架

php读取csv文件

php 三元表达式

php文件加密

php 拆分字符串

php pcntl

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站