如果你是一个php新手,或者你是一个资深的php程序员,你可能听说过trait,但是有的朋友可能不知道它们是做什么的,为什么需要它们……
幸运的是,trait比你想象的要简单得多。
那么,这些所谓的trait是什么呢?
trait就是包含方法的类。这个trait可以与许多类共享。使用这个trait的所有类都可以使用trait方法。
为什么你可能想要使用一个trait?
可能有很多原因使你希望使用某个特性。例如,我们有一个函数需要在整个项目中使用。我们总是可以创建一个全局函数或者我们可以将这个函数(方法)包含在一个trait中。然后我们需要使用这个方法的任何地方,我们都可以使用这个特征,那个方法就可以供我们使用。
看看下面这些trait:
trait greeting{ public function sayhello($name){ return 'hello ' . $name; }}
现在我们可以在任何类中使用这个trait :
class post{ use greeting;}class page{ use greeting;}
由于我们在上面的两个类中都使用了这个特性,现在我们可以在两个实例中访问sayhello方法:
$post = new post;echo $post->sayhello('bob');$page = new page;echo $page->sayhello('frank');
因此,如果你发现自己受到php中的单一继承的限制,这意味着类只能从另一个类继承,那么你可能希望使用trait。
以上就是什么是php trait的详细内容。