2010-09-09 79 views

回答

1

你應該把你的所有require S和include s的文件的頭 - 這當然是一個風格的東西,但有一點可以使您通過一眼看到在源文件中,您的PHP文件需要哪些其他文件。

有兩種情況:

  1. 您將只使用user.php和其他文件storage.phpapp.php說)
  2. 在有些情況下,你將使用user.php,不想再擔心記住案件要求storage.php

#1 - 你不必擔心需要,但是有在你的PHP,即使大部分時間會已經要求它的頭使用require_once沒有顯著的缺點。

#2 - 你需要使用require_once的頭,因爲你不能沒有storage.php使用user.php和最後一頁只知道它需要user.php

簡短的回答:使用require_once以包括代碼的所有依存關係(允許它很容易被其他代碼使用)

注:您應該只包括直接依賴關係的代碼。也就是說:如果您有group.php使用user.php,它應該require_once 'user.php',但不必擔心storage.php,因爲它不是直接使用,並且user.php隱含地包含它(這就是說 - 沒有顯着的性能缺點,如果您希望徹底)

+0

謝謝Rudi。所以我不需要require_once來使注射本身工作。 – JDelage 2010-09-09 17:42:09

+0

在上面的例子中,你不需要任何需求,因爲'$ storage'只是一個變量 - 沒有'user.php'的definitino需要理解。如果你使用[type hinting] [1](一個完全不同的主題)...那麼你需要'require'定義類型的源代碼。 [1]:http://php.net/manual/en/language.oop5.typehinting.php – Rudu 2010-09-09 17:50:26