carloswph/configurable

可配置接口,其抽象类实现和一个特质。

0.9.0 2022-03-03 18:01 UTC

This package is auto-updated.

Last update: 2024-09-29 06:25:52 UTC


README

现代PHP中的许多脚本和包都需要一个或多个配置类。通常,这些是可设置、更改或检索的一组属性。然而,一些配置具有特殊的行为——例如布尔属性。此外,我们希望未来的某些设置是可管理的——对于其他一些,我们希望值在第一次设置后保持不可变。

为此有很多建议的接口——在这个Configurable接口中特别不同的是两个方法:immutable()和switch()。

这个包提供了一个Configurable接口和一个包含该接口非常客观实现的抽象类。简而言之,我们还将提供具有相同功能的特质。

配备了此类类的标准方法,如 get()set()getDefaults(最后这个方法将检索所有属性在那一刻的状态),该接口和抽象类都提出了两个新方法

immutable()方法

immutable 方法允许一个属性仅被设置或重新定义一次(如果类已经带有任何默认值)。之后,属性键将存储在私有变量中,任何新的设置新值的尝试都将被忽略。

switch()方法

此方法提供了一种快速且简单的方法来更改一个或多个布尔属性。正如其名所示,任何设置为FALSE的属性将切换到TRUE,这样所有TRUE值都变成FALSE。