本篇文章次要引见了PHP中trait应用办法,集体感觉挺没有错的,如今分享给各人,也给各人做个参考。一同过去看看吧。上面开端注释。
说浅显点,PHP中应用trait要害字是为理解决一个类既想集成基类的属性以及办法,又想领有此外基类的办法,而trait普通状况下是以及use搭配应用的。请看上面的示例代码
<?php header("Content-type:text/html;charset=utf-8"); trait Drive { //应用trait 创立一个基类 public $carName = 'trait'; //界说一个变量 public function driving() { //界说一个办法 echo "driving {$this->carName}<br>"; } } class Person { //创立一个基类 public function eat() { //界说一个办法 echo "eat<br>"; } } class Student extends Person { //创立一个子类承继Person类 use Drive; //应用trait界说的类Drive public function study() { //界说一个办法 echo "study<br>"; } } $student = new Student(); //创立工具 $student->study(); //挪用本人界说的办法 $student->eat(); //挪用父类办法 $student->driving(); //挪用trait界说的类Drive的办法 ?>
运转成果图如图所示
下面的例子中,Student类经过承继Person,有了eat办法,经过组合Drive,有了driving办法以及属性carName。
假如Trait、基类以及本类中都存正在某个同名的属性或许办法,终极会保存哪个呢?
<?php header("Content-type:text/html;charset=utf-8"); trait Drive { //应用trait界说一个类 public function hello() { //界说一个办法 echo "我是trait类的办法hello()<br>"; } public function driving() { echo "我是trait类的办法driving()<br>"; //界说一个办法 } } class Person { //创立父类 public function hello() { //界说一个办法 echo "我是父类的办法hello()<br>"; } public function driving() { //界说一个办法 echo "我是父类的办法driving()<br>"; } } class Student extends Person { //创立子类承继Person类 use Drive; //应用trait界说的类Drive public function hello() { //界说一个办法 echo "我是子类的办法hello()<br>"; } } $student = new Student(); //创立工具 $student->hello(); //挪用hello办法 $student->driving(); //挪用deiving办法 ?>
运转成果如图所示
因而患上出论断:当办法或属性同名时,以后类中的办法会笼罩 trait的 办法,正在这个例子中也就是student的hello()办法笼罩了trait中的hello()办法。而 trait 的办法又笼罩了基类中的办法。正在这个例子中,trait的driving()办法就是笼罩了Person类中driving()办法。
假如想理解更多php的相干常识能够到网站的php模块中去学习更多无意思的常识。
以上就是PHP中对于trait应用办法的具体引见的具体内容,更多请存眷资源魔其它相干文章!
标签: php php开发教程 php开发资料 php开发自学 Trait
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
抱歉,评论功能暂时关闭!