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

php 类 __set

作者:岁月凉茶   发布日期:2025-09-08   浏览:527

__set 是一个魔术方法(magic method),在 PHP 中用于设置一个类的私有属性(private property)或受保护属性(protected property)时调用。

当我们在类外部直接给一个私有属性或受保护属性赋值时,__set 方法会被自动调用。它接收两个参数:$name 表示要设置的属性名,$value 表示要设置的属性值。

下面是一个示例:

class MyClass {
    private $name;

    public function __set($name, $value) {
        echo "Setting $name to $value";
        $this->$name = $value;
    }
}

$obj = new MyClass();
$obj->name = 'John';

在上面的示例中,当我们给 $obj 对象的 name 属性赋值时,__set 方法会被调用。它会输出 "Setting name to John",并将属性值设置为 'John'。

需要注意的是,set 方法只会在给私有属性或受保护属性赋值时调用。如果给一个不存在的属性赋值,set 方法不会被调用,而是直接创建一个新的公有属性。

此外,如果我们想要在类外部获取私有属性或受保护属性的值,可以使用 get 方法。get 方法与 __set 方法类似,但用于获取属性值。

上一篇:php获取post文件(php curl post请求)

下一篇:php 超链接传参

大家都在看

php session用法

php 定义常量

phpisset函数

php html转图片

php后端

php爬虫框架

php读取csv文件

php 三元表达式

php文件加密

php 判断是否为空

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

Laravel 中文站