morrisonlevi / ardent
一个健康的PHP库
Requires
- php: ^5.5 || ^7.0
This package is not auto-updated.
Last update: 2022-02-01 12:22:48 UTC
README
在开发和帮助他人开发PHP应用程序的过程中,我发现几乎每个任务都会用到PHP的数组。PHP中的数组很有用,但由于PHP没有丰富的标准库来处理常见的数据结构和算法,因此被过度使用。这个库旨在填补这一空白。毫无疑问,我在设计和实现中犯了一些错误;希望更多的社区参与可以帮助识别和修复这些错误。
需求
耐心
此项目不稳定,版本之间可能会发生重大变化。在这一开发阶段,稳定性不是目标。明确地说:您正在自行承担风险使用此项目。我非常重视您使用此库的经验,并对早期使用者表示感谢,但我想强调,此项目非常不稳定。
PHP 5.4
此项目需要 PHP 5.4,因为PHP 5.3已经到达生命周期的结束(EOL)。因此,该项目使用了特性(Traits)、可调用类型和短数组语法。根据此项目成熟的时间长短,可能需要PHP 5.5来处理生成器和改进foreach
循环中对非标量键的处理,或者可能需要PHP 5.6来支持...
。
您还可以使用HHVM。我不会让HHVM的兼容性阻止我做我认为对这个库正确的事情,但希望我们能够保持兼容性。
路线图
此项目没有官方路线图。我打算在我对API有足够的信心,认为它适合公共使用时发布1.0.0版本。在此之前,将根据需要标记次要版本。此项目遵循语义版本控制。
我如何帮助?
最好的帮助方式是使用此库(再次提醒,您在使用时承担风险)并在发现问题时提交问题。超过99%的库已通过单元测试执行,但其中一些测试的质量较差;欢迎改进测试。
您能添加X结构吗?
也许可以。打开一个问题,我会查看。
为什么不使用现有的标准PHP库?
标准PHP库(SPL)有许多问题,其中一些在关于SPL的未完成的RFC中有所记录。在这里我不想详细说明,但本质上SPL没有提供我认为PHP社区需要的标准数据结构和算法。
这个名字有什么含义?
这个项目最初的目标是修复SPL;因此我将其命名为SPL。最终我意识到,如果用不同的名字可能会更好;我选择了Ardent,这个名字描述了我对这种库的需求的感受。不幸的是,在我已经选择这个名字之后,另一个PHP项目决定使用这个名字。