carloswph / configurable
可配置接口,其抽象类实现和一个特质。
0.9.0
2022-03-03 18:01 UTC
README
现代PHP中的许多脚本和包都需要一个或多个配置类。通常,这些是可设置、更改或检索的一组属性。然而,一些配置具有特殊的行为——例如布尔属性。此外,我们希望未来的某些设置是可管理的——对于其他一些,我们希望值在第一次设置后保持不可变。
为此有很多建议的接口——在这个Configurable接口中特别不同的是两个方法:immutable()和switch()。
这个包提供了一个Configurable接口和一个包含该接口非常客观实现的抽象类。简而言之,我们还将提供具有相同功能的特质。
配备了此类类的标准方法,如 get()、set() 和 getDefaults(最后这个方法将检索所有属性在那一刻的状态),该接口和抽象类都提出了两个新方法
immutable()方法
immutable 方法允许一个属性仅被设置或重新定义一次(如果类已经带有任何默认值)。之后,属性键将存储在私有变量中,任何新的设置新值的尝试都将被忽略。
switch()方法
此方法提供了一种快速且简单的方法来更改一个或多个布尔属性。正如其名所示,任何设置为FALSE的属性将切换到TRUE,这样所有TRUE值都变成FALSE。