不封閉的php標記是怎們回事?

來源:互聯網
上載者:User
我知道一般的php文檔中,php標記都會以的形式出現。但在一些開源系統中,也有出現這樣的情況,在一個檔案中,只有的部分。而且感覺?>不在其他檔案中。請問為什麼能這樣寫,以及這樣寫的意義。

回複內容:

先截取一段手冊上的原文:如果檔案內容是純 PHP 代碼,最好在檔案末尾刪除 PHP 結束標記。這可以避免在 PHP 結束標記之後萬一意外加入了空格或者分行符號,會導致 PHP 開始輸出這些空白,而指令碼中此時並無輸出的意圖。
這些影響最多的時候應該是在使用 include 和 require的時候,加了結束標籤 如果又在後面加了空格都有可能會引起多餘的輸出、php錯誤、之後的輸出無法顯示、空白頁。因此,所有的php檔案應該 省略這個php閉合標籤,並插入一段注釋來標明這是檔案的底部並定位這個檔案在這個應用的相對路徑。這樣有利於你確定這個檔案已經結束而不是被刪節的。對於一些調用前不能有輸出的函數,例如,header,setcookie等,如果在這些函數之前載入了一個有?>結尾的php檔案,同時,你又不小心在?>結尾後加了換行等一些其他字元,這些空白字元由於放到了?>外邊,是不會被php忽略的,這樣話會當做一種輸出,此時如果在header等函數調用之前載入一個檔案,就會造成php的錯誤,如果沒有結尾,則php文法會將空白忽略,從而不會發生錯誤
第一,檔案末尾的 ?>可以省略第二,該指令碼若被其他指令碼包含,所以該指令碼不需要結束,否則會報錯,因為是要和其他指令碼銜接,只有在php代碼後面需要寫html的才使用閉合標籤。
樓上的正解,只有在php代碼後面需要寫html的才使用閉合標籤。
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.