2017-04-11 41 views
1

简而言之,比较三者最简单的方法是什么?laravel方法与特质vs外观有什么区别

方法vs性状vs立面

干杯!

+0

非常广泛的问题......你能精确吗? – slick

+0

我的意思是像一个范围 - 使用情况等在我的例子中,我试图了解为什么会使用通知方法vs通知特征vs可通知门面例如 – awindsurfer

+0

这不是Laravel特定的。这是基本的PHP概念。 – apokryfos

回答

3

他们并没有真正比较,因为他们真的是不同的东西。

方法是属于一个类的函数。

class MyClass 
{ 
    public function this_is_a_method() { } 
} 

特征是一种在类之间共享代码的方法。一个特征不能被实例化,而是包含在另一个类中。类和特征都可以定义方法。

trait MyTrait 
{ 
    public function this_is_a_method() { } 
} 

既然我有这个特质,我可以更新MyClass来使用这个特质。

class MyClass 
{ 
    use MyTrait; 
} 

您可以将特征看作复制和粘贴。现在MyClass复制MyTrait中定义的方法,以便您可以执行此操作。

$class = new MyClass(); 
$class->this_is_a_method(); 

这两种方法和特征都是PHP的特性。外墙是Laravel的一个特色。门面只是简单的语法糖,以帮助从容器中获得服务。

+0

干杯@jfadich快速解释!说得通! – awindsurfer

相关问题