首页 > 代码库 > PHP系列之一traits的应用
PHP系列之一traits的应用
Traits 在PHP中实现在方法的重复使用;Traits与Class相似,但是它能够在Class中使用自己的方法而不用继承;
Traits在Class中优先于原Class中的方法,引用PHP Document中的例子:
<?phpclass Base { public function sayHello() { echo ‘Hello ‘; }}trait SayWorld { public function sayHello() { parent::sayHello(); echo ‘World!‘; }}class MyHelloWorld extends Base { use SayWorld;}$o = new MyHelloWorld();$o->sayHello();?>
以上输出结果为:
Hello World!
Traits按顺序原则,被覆盖的例子:
<?phptrait HelloWorld { public function sayHello() { echo ‘Hello World!‘; }}class TheWorldIsNotEnough { use HelloWorld; public function sayHello() { echo ‘Hello Universe!‘; }}$o = new TheWorldIsNotEnough();$o->sayHello();?>
输出结果为:
Hello Universe!
Traits在Class中的应用,同样以PHP Document为例:
<?phptrait Hello { public function sayHello() { echo ‘Hello ‘; }}trait World { public function sayWorld() { echo ‘World‘; }}class MyHelloWorld { use Hello, World; public function sayExclamationMark() { echo ‘!‘; }}$o = new MyHelloWorld();$o->sayHello();$o->sayWorld();$o->sayExclamationMark();?>
输出结果为:
Hello World!
PHP系列之一traits的应用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。