2013-01-03 55 views
1

在Symfony2中的入門之旅我碰到這樣的:差異的Symfony2

{# array('user' => array('name' => 'Fabien')) #} 
{{ user.name }} 

{# force array lookup #} 
{{ user['name'] }} 

{# array('user' => new User('Fabien')) #} 
{{ user.name }} 
{{ user.getName }} 

{# force method name lookup #} 
{{ user.name() }} 
{{ user.getName() }} 

有人能解釋我的區別?

+0

我弄錯了什麼,或者你是否意指小枝,而不是yaml?沒有看到,這與yaml有關:X – KingCrunch

+0

糟糕,當然,我的意思是枝條。不知道我是怎麼想到yaml的。 – xotix

回答

1

在樹枝時,你只需要使用foo.barfoo可能是一個數組(在這種情況下樹枝預期的關鍵bar),或一個對象,而它預計無論是訪問屬性bar,一個方法getBar(),我想我的東西忘記。然而,問題在於,樹枝試圖解決訪問本身的問題,並且可以隨意插入,無論你喜歡什麼(除了它必須以一種結構化數據的形式)。如果你使用特定的訪問方法,你可以從樹枝猜測:當你撥打foo.bar()這顯然是一種方法。 (必須說,我從來沒有聽說過「強制查找」:X)

+0

aha。這很有道理,謝謝。認爲它背後更多。 :) – xotix

+1

不用,在{{user.getAdress()}}中讀取{{user.address}}'中的'{{user.name}}而不是'{{user.getName()}} ,因爲它更自然。那就是什麼模板化:讓簡單的可視化...是的,模板^^(對於結構化數據,數組越來越少見) – KingCrunch