Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 以编程方式将变量从public更改为private_Php - Fatal编程技术网

Php 以编程方式将变量从public更改为private

Php 以编程方式将变量从public更改为private,php,Php,我是否可以在类的函数调用中以编程方式将变量从public更改为private?使用访问修饰符(setter、getter)并将private属性设置为public属性 无法更改属性的可见性。否无法将变量从公共更改为私有。为什么要更改?使用setter和getter。我使用getter/setter,但是它是在一个现有的系统上实现的,而这个系统没有,我想通过一个简单的循环来打破$object->var的功能,最好是通过$fields数组来确定getter/setter。您是否在搜索创建一个状态未知

我是否可以在类的函数调用中以编程方式将变量从public更改为private?

使用访问修饰符(setter、getter)并将private属性设置为public属性


无法更改属性的可见性。

否无法将变量从公共更改为私有。

为什么要更改?使用setter和getter。我使用getter/setter,但是它是在一个现有的系统上实现的,而这个系统没有,我想通过一个简单的循环来打破$object->var的功能,最好是通过$fields数组来确定getter/setter。您是否在搜索创建一个状态未知的Heisenproperty?反射是可能的(ReflectionProperty::setAccessible)但正如上面的abloodywar所说:您可能需要首先考虑替代方案,这并不是一个好的实践。对于最新的PHP版本,您可以使用Reflection。这并不可取:)我只在单元测试期间使用它来临时读取框架或其他内容的属性值。false,你可以。请参阅反射手册: