<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## include 1. 先按參數給出的路徑尋找,如果沒有給出目錄(只有文件名)時則按照 include_path 指定的目錄尋找。 1. 如果在 include_path 下沒找到該文件則 include 最后才在調用腳本文件所在的目錄和當前工作目錄下尋找。 1. 如果最后仍未找到文件則 include 結構會發出一條警告;這一點和 require 不同,后者會發出一個致命錯誤。 1. 如果定義了路徑——不管是絕對路徑(在 Windows 下以盤符或者 \ 開頭,在 Unix/Linux 下以 / 開頭)還是當前目錄的相對路徑(以 . 或者 .. 開頭)——include_path 都會被完全忽略。 ## require require 和 include 幾乎完全一樣,除了處理失敗的方式不同之外。 require 在出錯時產生 E_COMPILE_ERROR 級別的錯誤。 換句話說將導致腳本中止而 include 只產生警告(E_WARNING),腳本會繼續運行。 ## PHP中的include_path PHP在遇到require(_once)/include(_once)的指令的時候, 首先會做如下的判斷: ~~~ 是否為絕對路徑? - 是 , 則直接包含,并結束。 - 否, 進入另一個邏輯(經過多次調用,宏展開后進入_php_stream_fopen_with_path)尋找此文件) ~~~ 接下來, 在_php_stream_fopen_with_path中, 會做如下判斷: ~~~ 要包含的文件路徑是相對路徑么(形如./file, ../dir/file, 以下用”目錄相對路徑代替”)? - 是, 則跳過include_path的作用邏輯, 直接解析相對路徑。 ~~~ 更詳細案例說明參閱鳥哥文章: [http://www.laruence.com/2010/05/04/1450.html](http://www.laruence.com/2010/05/04/1450.html) ## 結論最好的使用絕對路徑 1. 因為使用include_path和相對路徑的情況下, 性能會和尋找的次數有關, 最壞的情況下, 如果你有10個include_path, 那么最多可能會重試11次才能找到要包含的文件, 所以, 在能使用絕對路徑的情況下最好使用絕對路徑. 1. 因為目錄相對路徑的basedir, 永遠都是當前工作路徑, 如果要使用, 需要和實際部署路徑相關, 所以實際使用的很少(當然, 也有借助chdir來完成的模塊). 1. 在模塊化的系統設計中, 一般應該在模塊內, 通過獲取模塊的部署路徑(dirname(**FILE**), php5.3以后更是提供了**DIR**常量)從而使用絕對路徑. ## include/require區別 require()語句的性能與include()相類似,都是包括并運行指定文件。 ### 區別 include(): ~~~ 1. include引入文件的時候,如果碰到錯誤,會給出提示(Warning),并繼續運行下邊的代碼。 2. 在執行文件時每次都要進行讀取和評估 3. 一般是放在流程控制的處理區段中 4. PHP腳本文件在讀到include()語句時,才將它包含的文件讀取進來 5. include()是有條件包含函數 ~~~ require(): ~~~ 1. require引入文件的時候,如果碰到錯誤,會給出提示(Fatal error),并停止運行下邊的代碼。 2. 文件只處理一次(實際上,文件內容替換require()語句) 3. 通常放在PHP腳本程序的最前面 4. PHP程序在執行前,就會先讀入require()語句所引入的文件,使它變成PHP腳本文件的一部分。 5. require()則是無條件包含函數 ~~~ ~~~ //變量$ok無論是何值,1.php都會被包含進來[在PHP程序執行前,就讀入require()語句] if($ok){ require '1.php'; } //變量$ok為真,則包含文件2.php if($ok){   include '2.php'; } ~~~ ### 結論 - incluce在用到時加載 - require在一開始就加載 - _once后綴表示已加載的不加載 - 如果可能執行多次的代碼,則使用require()效率比較高 - 如果每次執行代碼時是讀取不同的文件,或者有通過一組文件迭代的循環,就使用include()語句
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看