如何用PHP(或任何语言)组织函数代码


How do I organize functional code in PHP (or any language)

我一直在尝试使用PHP进行函数式编程。我了解所有的基本知识;闭包、lambdas、引用透明度等

我不明白,也找不到太多关于如何构建整个项目的信息。如何将函数组合到一个什么样的文件夹结构中。

我一直在使用只有静态函数的空类,因为这为我提供了名称空间。这是个好主意还是有更好的方法?

TL;DR:只需在命名空间或静态类成员中定义所需的函数。

如果您了解函数式语言(如函数式编程所用的语言),那么将函数分组到库中所需的就是基本名称空间。在PHP中,您可以将函数直接放入名称空间,或者如果您喜欢::分隔符而不是'分隔符,也可以将它们放入类内的静态方法中。

在许多函数式语言中,您最终会使用许多只针对本地作用域的辅助函数。这种情况可以像在PHP中处理私有方法一样处理(通过在下划线前加前缀或使用private关键字)。

对于PHP以外的其他语言,你会发现类似的推理:使用任何将函数(模块、命名空间、类、结构等)分组的方法。从函数编程的角度来看,没有任何参数可以改变这一点。