【发布时间】:2021-09-03 23:29:48
【问题描述】:
我正在 PHP 8 中创建一个基类,我希望在其中拥有一个 $isDirty 私有属性。 我希望扩展基类的类能够使用公共属性,以便它们显示在 IDE 中。 但是,我希望能够在任何时候设置或更改公共属性时设置 $isDirty 变量。 我已经能够使用 __set 魔术方法更新 $isDirty,但前提是继承的类属性是受保护的或私有的。但是,将它们设置为受保护或私有会阻止 IDE 自动完成功能工作。 有没有一种方法可以“注入”我的方法来设置一个变量时设置另一个变量而不将该变量的范围从公共更改为受保护?
【问题讨论】:
-
拥有公共属性会导致各种问题,做出此类决定时要小心。