2017-10-13 166 views
0

我在學習PHP少數實體如何以不同的方式使用?什麼是實際調用的實體?

雖然學習PHP,我注意到,有一些實體PHP它們在不同的方式使用。有時使用帶括號參數的圓括號,有時使用一對空括號(即沒有任何參數/ s或消息通過),有時不使用一對圓括號。

這怎麼可能?是否所有其他實體(即函數/關鍵字/語言結構)也存在於PHP中?

是否還有其他這樣的實體存在於PHP「迴響」,「打印」等,「死」,「退出」我遇到到現在?

這些實體實際上叫做什麼函數/關鍵字/語言結構PHP

什麼是正確的方法/方式/編碼標準訪問這種類型的實體?

這將是更好地爲我以及其他PHP社區成員誰正在努力學習PHP如果有人能回答我的查詢所有在一個簡單,清晰和易於理解的語言與可靠說明?

謝謝。

+0

你需要一本PHP食譜! – shahsani

回答

1

正常情況下,當你在PHP中看到()之後,它裏面是否有參數,它是一個函數。

有兩種情況,括號是可選的。

  1. 語言結構 - 你已經提到的那些(echoprintdieexit)以及breakincluderequirerequire_oncereturn,並yield。 (我認爲這就是所有帶括號的選項)
    某些語言結構,如unsetarray需要括號。如果您不確定某個單詞是函數還是語言結構,最好的方法是查閱PHP手冊。語言結構將包含在this list of keywords中。在function reference中也列出了一些語言結構(例如,echo包含在字符串函數中),但特定的手冊頁將清楚地指示該術語是否是語言結構,以及是否需要括號。
    This answer詳細描述了爲什麼/如何在沒有括號的情況下使用語言結構。

  2. 對象構造函數沒有必需的參數。
    如果對象構造函數不帶任何參數或其所有參數都是可選的(例如function __construct($foo = null)),則在創建新對象時可以省略括號。例如,例如,$now = new DateTime;$now = new DateTime();都將工作。

至於「正確」的方式,真的沒有一個。如果括號是必需的,顯然正確的方法是使用它們,否則你的代碼將不會被解析。如果括號不是必需的,則取決於您正在使用的項目中使用的編碼標準。

相關問題