<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                在實際開發中,常常需要把程序中的公用代碼放到一個文件中,使用這些代碼的文件只需要包含這個文件即可。這種方法有助于提高代碼的重用性,給代碼的編寫與維護帶來很大的便利。在PHP中, 有require、require_once、include、include- once四種方法包含一個文件。 我們來對比他們的不同: | 函數 | 包含失敗 | 特點 | | -- | -- | -- | | Inlcude | 返回一條警告 |文件繼續向下執行。通常用于動態包含 | | Require | 一個致命的錯 | 代碼就不會繼續向下執行。通常包含極為重要的文件,整個代碼甭想執行 | | Include_once | 返回一條警告 | 除了原有include的功能以外,它還會做once檢測,如果文件曾經已經被被包含過,不再包含 | | Require_once | 一個致命的錯 | 除了原的功能一外,會做一次once檢測,防止文件反復被包含 | 注意: 1,少用_once帶once,因為它會消耗更多的資源去做檢測的工作。 2,特高級 Include文件只需要編譯一次,因為每次包含include都會再執行一次對應的代碼,如何減少include再次執行時,需要重新解析的過程。 我們來做一幾個實驗: 1,include包含函數的功能。 創建一個functions.php文件,里面寫上兩個函數: ~~~ <?php //functions.php文件 function demo(){ echo 'aaaa'; } function test(){ echo 'cccdddd'; } ?> ~~~ 在functions.php的同級目錄下,我再創建一個user.php文件把functions.php文件包含進來。這樣我的函數就可以專門放在functions.php里面,哪兒需要用到這些函數的時候,我就從哪兒包含進來: ~~~ <?php //user.php include 'functions.php'; //可以直接調用 demo(); test(); ?> ~~~ 我通過過上例我們知道了include的功能。接下來我們對比include和require: 代碼中,我們先用include 來包含不存在的test.php文件, ~~~ <?php //user.php include 'functions.php'; include 'test.php'; //可以直接調用 demo(); test(); ?> ~~~ 再用require包含 不存在的test.php文件: ~~~ <?php //user.php include 'functions.php'; require 'test.php'; //可以直接調用 demo(); test(); ?> ~~~ 通過上例的對比我們發現: 1. 如果test.php文件不存在include 會發出警告繼續執行demo()和test()函數。 2. 而requre則直接報錯,demo()和test()函數無法繼續執行。 我們通過表格知道了:inlcude 和include_once的區別在于,檢測是否重復包含。如果重復包含了include_once不會再包含 對應的文件了,而include 則不管這些。有沒引入過文件,都再引入一次。 同樣剛剛的user.php我們再實驗一下,我們將functions.php包含兩次,分別使用include和include_once: ~~~ <?php //user.php //這兒被包含了兩次同樣的函數定義文件喲 include 'functions.php'; include 'functions.php'; //可以直接調用 demo(); test(); ?> ~~~ 改為include_once再試一次: ~~~ <?php //user.php //這兒被包含了兩次同樣的函數定義文件喲 include_once 'functions.php'; include_once 'functions.php'; //可以直接調用 demo(); test(); ?> ~~~ 大家分別執行后會發現——include 這次引入functions.php兩次的時候報了如下錯誤: ![document/2015-08-20/55d5ee7d3cffd](http://box.kancloud.cn/document_2015-08-20_55d5ee7d3cffd.png) 上圖中的提示是說,不能重新定義函數demo()。 我們在函數定義章節講過,函數不能定義兩次,否則會報錯。因為我們將 functions.php包含了兩次所以執行了兩次,因此報這個錯誤。 而include_once不報錯的原因是因為:他檢測了functions.php曾經包含過,不再進行包含引入了。 而require和require_once的功能,大家用你最最聰明的小腦袋是不是就能推理出來了呢?require_once有兩個特點: 1. 包含 的文件必須存在,否則停止執行 2. 會做重復包含檢查喲 ![document/2015-08-20/55d5ef8e85e77](http://box.kancloud.cn/document_2015-08-20_55d5ef8e85e77.png)
                  <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>

                              哎呀哎呀视频在线观看