PHP Trait 为何可能成为语言的关键特性
《PHP Trait 为何可能成为语言的关键特性》这篇在博客园热度很高,讲的正是大家天天碰到的事。下面帮你把要点捋出来,结尾有能直接抄的结论。
PHP Trait 为何可能成为语言的关键特性 PHP 社区对 Trait 一向谈不上偏爱。它们常被视为隐式行为的来源。既然如此,Trait 为何依然值得重视? Trait 大概是 PHP 中唯一可以被归入元编程工具集的特性。它允许在程序真正开始使用某个类之前改变该类的结构,实际上就是把方法、属性和常量注入目标类。 当然,Lisp 这类语言,以及 Elixir 这类更现代的语言,都提供了远比 PHP 强大的元编程设施。 但 PHP 的 Trait 具备一个许多同类机制所缺乏的特性:极低的认知负担。
PHP Trait 为何可能成为语言的关键特性 PHP 社区对 Trait 一向谈不上偏爱。它们常被视为隐式行为的来源。既然如此,Trait 为何依然值得重视? Trait 大概是 PHP 中唯一可以被归入元编程工具集的特性。它允许在程序真正开始使用某个类之前改变该类的结构,实际上就是把方法、属性和常量注入目标类。 当然,Lisp 这类语言,以及 Elixir 这类更现代的语言,都提供了远比 PHP 强大的元编程设施。 但 PHP 的 Trait 具备一个许多同类机制所缺乏的特性:极低的认知负担。 它的模型非常简单: [代码示例略] 完成组合之后,在阅读 User 类时,几乎可以把它当作是这样写成的: [代码示例略] 除少数冲突解决规则之外,类与 Trait 的组合就只是类中定义的一切与 Trait 中定义的一切的简单叠加。
PHP Trait 为何可能成为语言的关键特性 PHP 社区对 Trait 一向谈不上偏爱。它们常被视为隐式行为的来源。既然如此,Trait 为何依然值得重视? Trait 大概是 PHP 中唯一可以被归入元编程工具集的特性。它允许在程序真正开始使用某个类之前改变该类的结构,实际上就是把方法、属性和常量注入目标类。 当然,Lisp 这类语言,以及 Elixir 这类更现代的语言,都提供了远比 PHP 强大的元编程设施。 但 PHP 的 Trait 具备一个许多同类机制所缺乏的特性:极低的认知负担。 它的模型非常简单: [代码示例略] 完成组合之后,在阅读 User 类时,几乎可以把它当作是这样写成的: [代码示例略] 除少数冲突解决规则之外,类与 Trait 的组合就只是类中定义的一切与 Trait 中定义的一切的简单叠加。 这一规则易于记忆,也相对容易推理。
PHP Trait 为何可能成为语言的关键特性 PHP 社区对 Trait 一向谈不上偏爱。它们常被视为隐式行为的来源。既然如此,Trait 为何依然值得重视? Trait 大概是 PHP 中唯一可以被归入元编程工具集的特性。它允许在程序真正开始使用某个类之前改变该类的结构,实际上就是把方法、属性和常量注入目标类。 当然,Lisp 这类语言,以及 Elixir 这类更现代的语言,都提供了远比 PHP 强大的元编程设施。 但 PHP 的 Trait 具备一个许多同类机制所缺乏的特性:极低的认知负担。 它的模型非常简单: [代码示例略] 完成组合之后,在阅读 User 类时,几乎可以把它当作是这样写成的: [代码示例略] 除少数冲突解决规则之外,类与 Trait 的组合就只是类中定义的一切与 Trait 中定义的一切的简单叠加。 这一规则易于记忆,也相对容易推理。 元编程之所以从未成为大多数程序员的日常工具,原因之一在于:很难理解一个元程序究竟如何改造程序本身。
PHP Trait 为何可能成为语言的关键特性 PHP 社区对 Trait 一向谈不上偏爱。它们常被视为隐式行为的来源。既然如此,Trait 为何依然值得重视? Trait 大概是 PHP 中唯一可以被归入元编程工具集的特性。它允许在程序真正开始使用某个类之前改变该类的结构,实际上就是把方法、属性和常量注入目标类。 当然,Lisp 这类语言,以及 Elixir 这类更现代的语言,都提供了远比 PHP 强大的元编程设施。 但 PHP 的 Trait 具备一个许多同类机制所缺乏的特性:极低的认知负担。 它的模型非常简单: [代码示例略] 完成组合之后,在阅读 User 类时,几乎可以把它当作是这样写成的: [代码示例略] 除少数冲突解决规则之外,类与 Trait 的组合就只是类中定义的一切与 Trait 中定义的一切的简单叠加。 这一规则易于记忆,也相对容易推理。 元编程之所以从未成为大多数程序员的日常工具,原因之一在于:很难理解一个元程序究竟如何改造程序本身。 Trait 在这方面的问题要小得多。
行动建议:收藏这篇,下次碰到同类问题先翻出来对照做一遍。好经验的价值,在于用起来。你最近被这类问题卡过吗? 来源|博客园《PHP Trait 为何可能成为语言的关键特性》,https://www.cnblogs.com/catchadmin/p/22977112.html
评论(0)
暂无评论,来抢第一条。