簡體   English   中英

PHP中的curly括號或冒號endif語句 - 哪一個提供更好的性能和代碼兼容性?

[英]Curly braces or colon-endif statements in PHP - which one provides better performance and code compatibility?

我正在查看許多代碼段,我發現人們可以在if語句中使用以下兩種方法:

方法1:

<?php
  if ($condition) {
    // Do this
  }
?>

方法2:

<?php
  if ($condition):
    // Do this
  endif;
?>

那么哪種方法與PHP編譯器和PHP版本更兼容,或者兩者之間沒有明顯區別?

大多數情況下,在視圖腳本中使用替代(endif)語法。 通常很難看到/注意到if語句的結束,因為大括號只占用一個字符,當你位於文件的底部時,很難判斷它是if還是foreach的結尾。 例如:

<?php if ($condition): ?>

    <div>a huge block of html</div>

<?php endif; ?>

它們都完全相同。 請參閱您組織的樣式指南,以確定您應該使用哪種樣式。

這種替代語法與可能更熟悉的語法沒有任何不同。 只是不要混淆兩者。 whileforforeachswitch存在類似的語法。

通常,您應根據可讀性和團隊偏好選擇首選語法。

當你開始看到濫用邏輯連接運算符的“if語句”時,真正可能引發你的是:

isset( $value ) AND print( $value );

正如我直到現在所見,在我的應用程序中,它們之間沒有區別,但是如果你在沒有規則的情況下將它們混合起來會有很多問題,因為它可能會出現一些錯誤並且你會搜索一個但是你沒有用過卷曲。 選擇一種使用獨占的語法。

唯一的區別在於非常大的文檔和項目。 我的公司使用大括號而不是endif,endelse ...因為我們在非常大的項目上工作。 比較文件大小時,使用大括號是有好處的。 較小的文件加載速度更快,因此我們努力減少每個字節。 我們注釋掉結束括號,以便更容易識別測試,然后刪除所有評論以進行生產。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM