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