事实上,PHP 作为一门编程语言存在的问题之一,就是你只能使用单继承。这意味着一个类只能从另一个类中继承。例如,可能希望从几个不同的类继承方法,以防止代码重复。在 PHP 5.4 中 一个新的语言特性被添加进来,这就是众所周知的 Traits,它在 Laravel 框架中被广泛使用。
PHP 官方网站给出了 Traits 的定义,如下:
“ Trait 是单继承语言(如 PHP )中的一种代码复用机制。 Trai 的目的是减少单继承语言的一些限制,能让开发者自由的重用在不同的类层次结构下几个独立类中的方法。 Trait 的语义组合与类的定义在某种程度上减少了代码的复杂度,避免了与多继承和 Mixins 相关的一些典型问题。
Trait 与类非常相似,但它的目的仅仅是用更好、一致的方式汇聚一些方法。 Trait 本身不能被实例化。除了传统继承之外,它能水平组合行为,换言之,类的应用程序不需要继承。”
PHP Traits是什么"htmlcode">
然后,您可以在其他类中这样使用 Trait : 现在,如果您要从这些类中创建新对象,您会发现它们都可以使用 share() 方法: Traits 如何工作 "color: #ff0000">那么,怎样在laravel中使用traits呢"htmlcode">
这是我的 BrandsTrait.php 以上所述是小编给大家介绍的在 PHP 和 Laravel 中使用 Traits的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
trait SharePost {
public function share($item)
{
return 'share this post';
}
}
class Post {
use SharePost;
}
class Comment {
use SharePost;
}
$post = new Post;
echo $post->share(''); // 'share this post'
$comment = new Comment;
echo $comment->share(''); // 'share this post'
use App\Http\Traits\BrandsTrait;
class YourController extends Controller {
use BrandsTrait;
public function addProduct() {
$brands = $this->brandsAll();
}
}
<"color: #ff0000"> 总结
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!