2017-04-11 50 views
1

一言で言えば、3つを比較する最も簡単な方法は何でしょうか?laravelメソッドとtrait vs facadeの違いは何ですか

メソッドvs特性対ファサード

乾杯!

+0

非常に幅広い質問...正確ですか? – slick

+0

私はスコープのような意味 - 使用法私の例では、なぜ通知方法対通知特性対通知可能ファサードを使用するのか理解しようとしています – 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; 
} 

形質はコピーアンドペーストと考えることができます。今すぐMyClassMyTraitで定義されたメソッドをコピーします。

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

方法と特性はどちらもPHPの機能です。ファサードはララヴェルの特徴です。ファサードは、コンテナからサービスを得るための構文的な砂糖です。

+0

簡単な説明のために乾杯@ jfadich!意味をなさない! – awindsurfer

関連する問題