我一直在尝试使用 PHP 进行函数式编程。我了解所有基础知识;闭包,lambdas,引用透明度等。
我不明白也找不到太多关于如何构建整个项目的信息。如何将功能组合成什么样的文件夹结构。
我一直在做的是使用只有静态函数的空类,因为这为我提供了命名空间。这是一个好主意还是有更好的方法?
我一直在尝试使用 PHP 进行函数式编程。我了解所有基础知识;闭包,lambdas,引用透明度等。
我不明白也找不到太多关于如何构建整个项目的信息。如何将功能组合成什么样的文件夹结构。
我一直在做的是使用只有静态函数的空类,因为这为我提供了命名空间。这是一个好主意还是有更好的方法?
TL;DR:只需在命名空间或静态类成员中定义您需要的函数。
如果您查看函数式语言(如旨在使用函数式编程的语言),那么基本命名空间就是您将函数分组到库中所需要的全部内容。::
在 PHP 中,您可以将函数直接放入命名空间中,或者如果您更喜欢分隔符而不是. ,则可以将它们放入类中的静态方法中\
。
在许多函数式语言中,您最终会使用许多仅用于本地范围的辅助函数。这种情况可以像处理 PHP 中的私有方法一样处理(通过下划线前缀或使用private
关键字)。
对于 PHP 以外的其他语言,您会发现类似的推理:使用将函数组合在一起的任何方法(模块、命名空间、类、结构等)。从函数式编程的角度来看,没有任何论据可以改变这一点。