PHP 中的 trait 是什么?

object oriented programmingphpprogramming更新于 2025/10/7 7:22:17

在 PHP 5.4 版本中,trait 被引入到 PHP 面向对象编程中。trait 类似于类,但它仅用于以细粒度且可靠的方式对方法进行分组。不允许单独实例化 trait。PHP 5.4 引入 trait 是为了克服单继承的问题。众所周知,在单继承中,一个类只能继承自另一个类。而 trait 允许开发人员在位于不同类层次结构中的多个独立类中自由地重用方法集。

示例

<?php
   trait Reader{
      public function add($var1,$var2){
         return $var1+$var2;
      }
   }
   trait writer {
      public function multiplication($var1,$var2){
         return $var1*$var2;
      }
   }
   class File {
      use Reader;
      use writer;
      public function calculate($var1,$var2){
         echo "Ressult of addition:".$this->add($var1,$var2) ."
";          echo "Ressult of multiplication:".$this->multiplication($var1,$var2);       }    }    $o = new File();    $o->calculate(5,3); ?>

输出

Result of addition two numbers:8
Result of multiplication of two numbers:15

解释

在上面的例子中,我们在一个类中实现了两个特征的函数。由于特征的存在,我们可以在一个类中访问多个函数。

注意

我们使用"USE"关键字来访问类中的特征。


相关文章