在面向对象和过程式应用中使用函数式编程
1. 引言
在编程领域,函数式编程是一种强大的编程范式。接下来将探讨如何把函数式代码融入现有的或新开发的应用中,具体内容包括如何构建函数式应用、是否要将应用完全函数化,以及如何和何时混合使用函数式编程和面向对象编程等范式。
2. PHP 编程范式的历史
PHP 在编程范式方面是一个混合体,这既有好处也有坏处。要理解函数式编程在 PHP 应用中的位置,了解 PHP 的历史很有必要。
- 1994 年,Rasmus Lerdorf 最初创建 PHP 时,它是一种纯粹的过程式语言。
- 随着时间推移,PHP 越来越广泛地被用于大型基于 Web 的系统。大型系统,尤其是由开发团队而非单个开发者编写的系统,对代码规范的要求越来越高,于是学术界和专业程序员开始要求引入面向对象的语言特性。
- PHP 3 版本开始引入基本的面向对象特性,但当时这些特性受到很多人的嘲笑(尤其是来自 Java 和 C++ 等其他语言的开发者),这使得许多过程式 PHP 程序员不愿意尝试面向对象编程。
- 直到 PHP 5 版本,随着 Zend Engine 2 中引入新的对象模型,才出现了真正的面向对象特性。即使如此,对象相关的语法和特性支持直到 PHP 5 系列的后期版本才达到现在的水平。
- 由于 PHP 开发者不愿意破坏向后兼容性,PHP 的过程式编程能力与新的面向对象特性并存。
在 PHP 手册的“PHP 历史”页面中,没有提到函数式编程。函数式编程的概念从未成为 PHP 正式开发路线图的一部分。能在 PHP 中进行(某种形式的)函数式编程,得益于一些人从其他语言中发现了函数式编程的元素(如闭
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



