2011-12-01 60 views
0

我最近已經接觸到只使用單個echo語句的PHP練習。因此,有效地,視圖被構建在視圖類中,並且存在返回HTML的函數。爲php腳本使用單個echo語句的優點

這則呼應,與此是在頁面的唯一回聲聲明:

$output_html = $obj_cars_view->get_output_html(); 
echo $output_html; 

NB汽車是第一個真正的生活目標我認爲是不相關的,我更感興趣的是優勢人們可以識別使用這個,看看它是否值得我採用這種方法。

如果唯一的優點是可讀性,並沒有被廣泛使用,那麼它的反作用只是對熟悉該練習的人更易讀。

回答

1

即使只是檢查,它也可以更容易地對輸出進行後處理。這可能與PHP的輸出緩衝,但這是一個更直接的方法。

如果輸出進入緩衝區而不是直接進入頁面,則更容易重用/重新使用代碼。同樣,內置的輸出緩衝可以做到這一點,但並不那麼靈活。

從概念上講,我認爲你可以爭辯說一個「單輸出」模型更清潔,這種東西在這裏和那裏吸取了一些html的內容,但正如你注意到的那樣,它確實需要付出代價。

+0

謝謝,我想知道有一個優勢,看起來很整齊,後處理輸出似乎是一個非常堅實的論點。至少如果有人問我爲什麼選擇採用它,我已經得到了更多的支持我的決定。 – Luke

+0

@Luke:一般優勢是改變代碼。當應用程序發生變化時,您通常會擺脫回聲 - 然後使用變量作爲w/o更容易。但是,這或多或少是一種風格。詢問編寫代碼的人。 – hakre

1

我的頭頂:意外發送標題的可能性較小。澄清:您避免了由於(例如)導致的'標題已發送'錯誤。

echo 'foo'; 
// … lots of other stuff 
header('Location: /'); # or session_start() or set_cookie .... 
echo 'bar'; 

缺點:用戶的瀏覽器將在稍後的時間點開始接收數據(如果是大型網站)。

+0

你的意思是意外打印出方法頭文件的可能性較小,因爲文本.. [編輯爲我一半回答我自己的評論] – Luke

+1

@Luke我編輯了一個示例來解決您的評論。 – middus