2017-04-11 47 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

相關問題