PHP中如何运用Trait实现代码复用和模块化设计?
- 内容介绍
- 文章标签
- 相关推荐
本文共计440个文字,预计阅读时间需要2分钟。
Trait 是 PHP 中用于代码复用的机制,类似于其他编程语言中的混入(mixin)。它允许将一组方法集合到一个单独的类中,然后可以在多个类中共享这些方法,而不需要继承。
以下是对原文的简化
原文:本实例讲述了PHP+Trait功能与用法。分享给广大开发者供大家参考,具体如下:Trait+是类PHP的单一继承语言的扩展,而是一种代码复用机制。1. 如果引入的Trait有同名的方法,trait A{public function func}
简化版:Trait 在 PHP 中实现代码复用,类似于混入。它允许将方法集合在单独的类中,供其他类使用。1. 若Trait中存在同名方法,如:`trait A { public function func() }`
本文实例讲述了PHP Trait功能与用法。分享给大家供大家参考,具体如下:
Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制。
1.如果引入的Trait有同名的方法
trait A{ public function eat(){ echo 'A-eat'; } public function say(){ echo 'A-say'; } } trait B{ public function eat(){ echo 'B-eat'; } public function say(){ echo 'B-say'; } } class People{ use A,B{ A::eat insteadof B; B::eat as eatbak; B::say insteadof A; } } $people = new People(); $people->eat(); echo "<br/>"; $people->say(); echo "<br/>"; $people->eatbak();
运行结果:
A-eat
B-say
B-eat
2.修改访问控制
<?php trait Test { public function say() { echo 'say hello'; } } class People { use Test { say as protected; } } $people = new People(); $people->say();
运行结果:
Fatal error: Call to protected method People::say() from context '' in D:\phpdemo\trait_Demo.php on line 14
相关学习
本文共计440个文字,预计阅读时间需要2分钟。
Trait 是 PHP 中用于代码复用的机制,类似于其他编程语言中的混入(mixin)。它允许将一组方法集合到一个单独的类中,然后可以在多个类中共享这些方法,而不需要继承。
以下是对原文的简化
原文:本实例讲述了PHP+Trait功能与用法。分享给广大开发者供大家参考,具体如下:Trait+是类PHP的单一继承语言的扩展,而是一种代码复用机制。1. 如果引入的Trait有同名的方法,trait A{public function func}
简化版:Trait 在 PHP 中实现代码复用,类似于混入。它允许将方法集合在单独的类中,供其他类使用。1. 若Trait中存在同名方法,如:`trait A { public function func() }`
本文实例讲述了PHP Trait功能与用法。分享给大家供大家参考,具体如下:
Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制。
1.如果引入的Trait有同名的方法
trait A{ public function eat(){ echo 'A-eat'; } public function say(){ echo 'A-say'; } } trait B{ public function eat(){ echo 'B-eat'; } public function say(){ echo 'B-say'; } } class People{ use A,B{ A::eat insteadof B; B::eat as eatbak; B::say insteadof A; } } $people = new People(); $people->eat(); echo "<br/>"; $people->say(); echo "<br/>"; $people->eatbak();
运行结果:
A-eat
B-say
B-eat
2.修改访问控制
<?php trait Test { public function say() { echo 'say hello'; } } class People { use Test { say as protected; } } $people = new People(); $people->say();
运行结果:
Fatal error: Call to protected method People::say() from context '' in D:\phpdemo\trait_Demo.php on line 14
相关学习

