<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      通過Include與Require函數完成代碼重用

      [摘要]如果你做過各種大小的Web站點,一定會對重用代碼段的重要性深有體會,不管是HTML還是PHP代碼塊。比如需要一年修改一次包含版權信息的頁腳,而你有1000個Web頁(就算是10個),手動操作則會讓你...
      如果你做過各種大小的Web站點,一定會對重用代碼段的重要性深有體會,不管是HTML還是PHP代碼塊。比如需要一年修改一次包含版權信息的頁腳,而你有1000個Web頁(就算是10個),手動操作則會讓你痛苦不已。



      通過PHP,你可以使用不同函數幫助你重用代碼。具體用到的函數取決于你打算重用的內容。

      主函數如下:

      * include() and include_once()

      * require() and require_once()

      include()函數包含給定的文件,并對其進行檢查。如:

      include('/home/me/myfile');

      在所含文件中的任何代碼都將會在變量范圍之內執行,此范圍即等同于函數include()在父代碼中出現的地方。你可以通過組合使用include()和fopen()函數以包含服務器上的靜態文件或另一服務器上的目標文件。

      include_once()函數與include()函數完成相同的功能,僅檢查文件內的代碼是否已經被當前腳本所包含過。如果代碼已經被腳本所包含,該函數就不再包含相應的文件了。

      require()函數使用給定文件的內容以替換自身。這一替換過程發生在PHP引擎編譯你的代碼時而非執行階段,這與include()不同,后者首先被計算。require()函數更多的用于靜態元素,而include()函數則主要用于動態元素。和include_once()類似,require_once()函數檢查給定代碼是否早已經插入到了文擋內,如果代碼已經存在,給定代碼就不會被再次插入文檔。

      建議對諸如版權、靜態文本和其他不含變量的元素這類信息采用require函數,那些依賴其他腳本來實現自身內容的元素也應當采用require函數,例如:

      <HTML>

      <HEAD><TITLE>Something</TITLE></HEAD>

      <BODY>

      [a lot of content]

      <?

      //插入版權信息

      require('/home/me/mycopyright');

      ?>

      </BODY>

      </HTML>
      另一方面,常使用include()函數把函數庫或類似庫放到腳本之外:



      <?

      //獲取我的函數庫

      include('/home/me/myfunctions');

      // 使用我的函數執行PHP程序?>

      <HTML>

      <HEAD><TITLE>Something</TITLE></HEAD>

      <BODY>

      [a lot of content]

      </BODY>

      </HTML>

      下一個自然而然的問題是:“被included或者被required的文件都來自哪里呢?”簡單回答是:“你的系統。”不過,僅僅是一些代碼片段有時會包含了諸如含確定用戶名和密碼的數據庫連接之類的安全信息。顯然你不希望這些東西也成為文檔的一部分而被公之于眾。

      你可以把包含文件(included或者required)放在系統的任何地方,只要用戶所處的PHP可以訪問這些文件即可。你還可以給這些文件以任何你希望的擴展名,或者根本不設擴展名。

      使用include()和require()函數可以讓Web站點上普遍存在或者經常變動的元素具體化。而通過這一方式也會當需要升級時使系統體系結構更易于處理。




      日韩精品一区二区三区高清