Logo
☆☆☆☆☆
0.0
Intermediate
25h

学习 PHP 中的函数式编程

函数式编程是一种强调通过纯函数的组合来表达程序逻辑的编程范式。PHP 非常适合函数式编程,因为函数在 PHP 的用户空间中是头等公民。 本课程将带你了解函数式编程的核心概念,如纯函数、不可变数据结构以及引用透明性。接着,你将学习如何使用默认值和回调处理错误,同时探索诸如 Either 或 Maybe 这样的代数数据类型。随后,你将了解函子(functors),并深入研究单子(monads),包括 IO、State、Reader 和 List 单子。 完成本课程后,你将通过一个完整的项目实践,深刻理解这些原则的实际应用。你不仅掌握了一种新的编程方式,还将有信心将其应用于自己的 PHP 项目中。

11 Lessons
Included in Subscription Plan
Personalized Learning
Powered by AI
学习 PHP 中的函数式编程
函数式编程是一种强调通过纯函数的组合来表达程序逻辑的编程范式。PHP 非常适合函数式编程,因为函数在 PHP 的用户空间中是头等公民。 本课程将带你了解函数式编程的核心概念,如纯函数、不可变数据结构以及引用透明性。接着,你将学习如何使用默认值和回调处理错误,同时探索诸如 Either 或 Mayb...

WHAT YOU'LL LEARN

对函数式编程范式的核心概念有基本理解,包括函数组合、不可变性以及引用透明性。

Content

11 Lessons • 0 Quizzes • 0 Challenges

入门
  1. 1

    课程简介

PHP中的函数式编程入门
  1. 1

    PHP与函数式编程简史

  2. 2

    定义函数式编程

  3. 3

    函数式编程的优势

  4. 4

    对PHP开发者的相关性

  5. 5

    在其他情境下的函数式编程

  6. 6

    PHP 正在变得越来越好

  7. 7

    摘要:PHP中的函数式编程入门

  8. 8

    测验:PHP中的函数式编程入门

  9. 9

    挑战 1:数字的乘积

  10. 10

    挑战 2:数字和的平方

核心概念:PHP中的函数式编程
  1. 1

    PHP 函数

  2. 2

    函数式编程与面向对象编程

  3. 3

    纯函数

  4. 4

    不可变性

  5. 5

    不可变列表

  6. 6

    Tries

  7. 7

    值对象

  8. 8

    时间耦合

  9. 9

    瞬态突变

  10. 10

    引用透明性

  11. 11

    函数式编程的REPL环境

  12. 12

    总结:函数式编程核心概念

  13. 13

    测验:函数式编程核心概念

  14. 14

    挑战 1:消除时间耦合

  15. 15

    挑战 2:引用透明函数

组合与辅助函数
  1. 1

    PHP 中的函数组合

  2. 2

    柯里化与部分应用

  3. 3

    映射、过滤和折叠函数

  4. 4

    转换器

  5. 5

    辅助函数

  6. 6

    摘要:组合与辅助函数

  7. 7

    测验:组合与辅助函数

  8. 8

    挑战 1:模拟 PHP 的 "max" 函数

  9. 9

    挑战2:使用转换器进行语言处理

函数式编程中的错误处理
  1. 1

    PHP中的异常

  2. 2

    非异常错误处理技术

  3. 3

    Maybe 和 Either 单子

  4. 4

    铁路模式

  5. 5

    摘要:函数式编程中的错误处理

  6. 6

    测验:函数式编程中的错误处理

  7. 7

    挑战 1:使用 Either 单子消除异常

  8. 8

    挑战 2:使用 Maybe 单子处理错误信息

PHP 中的函子
  1. 1

    范畴论

  2. 2

    PHP 编程中的函子

  3. 3

    单子

  4. 4

    实用的单子

  5. 5

    其他实用的 Monad

  6. 6

    摘要:PHP 中的函子

  7. 7

    测验:PHP 中的函子

  8. 8

    挑战 1:带有 IO 单子的 REPL

  9. 9

    挑战 2:Writer Monad

PHP中的任务并行化
  1. 1

    PHP中的多线程

  2. 2

    PHP中的多线程扩展

  3. 3

    PHP中的多进程处理

  4. 4

    消息代理

  5. 5

    摘要:PHP中任务的并行化处理

  6. 6

    测验:PHP 中任务的并行化

  7. 7

    挑战 1:使用 PCNTL 进行句子格式化

  8. 8

    挑战 2:使用 RabbitMQ 进行句子格式化

递归、模式匹配与属性测试
  1. 1

    PHP中的递归

  2. 2

    PHP 中的模式匹配

  3. 3

    使用 Eris 进行属性测试

  4. 4

    总结:递归、模式匹配与属性测试

  5. 5

    测验:递归、模式匹配与属性测试

  6. 6

    挑战 1:递归计数函数

  7. 7

    挑战 2:使用 Eris 进行属性测试

电话簿应用程序 — 一个简单的项目
  1. 1

    电话簿概述

  2. 2

    构建电话簿应用程序

  3. 3

    注册表功能的实现

  4. 4

    电话簿应用

  5. 5

    摘要:电话簿应用程序

结论
  1. 1

    总结一下!

附录
  1. 1

    所需安装

  2. 2

    附加材料

  3. 3

    术语

Certificate of Completion

Showcase your accomplishment by sharing your certificate of completion.

Course Author:Anonymous User

Reviews

Read reviews from students who have taken this course and share your own experience.

Reviews & Comments (0)