如何抑制uuu get和uuu set PHP函数

如何抑制uuu get和uuu set PHP函数,php,Php,有没有办法在PHP中抑制\uuu get和\uu set函数?显然,它们是不加定义地存在的。PHP的4.x版、5.x版和7.x版之间有什么区别 这是我的密码。2个文件 //File1.php <?php namespace N; class File1 { public $name; } 仍然呼应“鸟类携带者”?当您声明它们默认存在时,您是错的–它们必须由开发人员定义 您可以在官方文档中获得更多详细信息: 这些“神奇”的方法是在PHP5中引入的,根据更改日志,它们从那时起就

有没有办法在PHP中抑制
\uuu get
\uu set
函数?显然,它们是不加定义地存在的。PHP的4.x版、5.x版和7.x版之间有什么区别

这是我的密码。2个文件

//File1.php

<?php
namespace N;

class File1
{
    public $name;
}


仍然呼应“鸟类携带者”?

当您声明它们默认存在时,您是错的–它们必须由开发人员定义

您可以在官方文档中获得更多详细信息:

这些“神奇”的方法是在PHP5中引入的,根据更改日志,它们从那时起就没有更改过

逻辑非常简单——如果您试图访问对象上的不可访问属性,并且该对象有一个_get()方法,PHP将使用单个参数(属性名)调用该方法。与_set()相同

这些方法允许您介绍通常称为魔法属性的东西


在您实现它们之前,它们是不存在的。

这些都是神奇的方法,您可以使用它们,也可以不使用它们。没有办法“压制”语言中的某些东西。Ref:

\uuu get和\uu set不能被抑制它们是PHP语言方法。

“没有定义的存在”它们默认不存在。@jszobody我认为他的意思是它们隐式存在(继承),我建议显示一些代码。看起来你正在做一些你认为不可能的事情,也许可以告诉我们具体是什么?看起来你是对的,那些神奇的方法是默认启用的。从中查看答案。它建议只定义带有空主体的
\u集
magic方法。我自己也试过了,看起来效果不错(我在尝试设置未定义的属性时收到了通知)。如果需要,您也可以让它引发异常。请帮助我理解,因为我访问了一个未定义的属性,并且在没有实现_get或_set的情况下,我能够回显该属性,这里肯定缺少一些内容。请显示代码摘录?您应该收到PHPthey execute WITHE definition的错误?您需要声明要执行的属性,例如,当您声明_get并尝试获取一个名称未在类上声明的属性时,if将执行magic _get方法,因此它有助于获取内容,而无需公开所有属性,还要检查访问权限等。了解这一点的最简单方法是测试它:
<?php

require 'File1.php';

$a = new \N\File1();
$a->name1 = 'Avian Carrier';
echo $a->name1;

?>