It's recommended不應該在文件末尾放置一個PHP結束標記以避免各種不正常的錯誤。但是有什麼情況需要關閉PHP標籤?PHP標記關閉 - 何時需要?
4
A
回答
17
如果要從PHP代碼塊切換到純文本輸出,則需要結束標記。
下面是一個例子:
<?php
// PHP code block
?>
<!-- plain text output and not processed by PHP -->
</body>
3
當你的PHP塊之後要輸出非PHP代碼,這只是必要的。
1
當你不只是使用PHP腳本:-)
9
順便說一句,如果你想知道你被跳過的結束標記阻止了什麼錯誤。由於Zend的解釋沒有詳細說明。
它不是PHP所必需的,並且省略了它可以防止意外將尾隨白色空間注入到響應中。
這意味着如果您想使用header()將某人重定向到某個其他位置或以任何方式更改HTTP標頭,那麼如果某些文件結束,您將無法並且會收到錯誤喜歡這個。
}
?>
//space here
因爲然後這個空間將作爲內容輸出到網站,然後你不能修改標題。
1
作爲一般規則,我總是添加結束標記,因爲這是我問號手指全天鍛鍊的唯一時間。那個可憐的問號在PHP中沒有愛;-)
但嚴重的是,當不需要時添加結束標記實際上會導致真正令人困惑的錯誤。因爲這個,我整個下午都把我的頭髮拉出來。麻煩通常是因爲在結束標記之後有空格,您不容易看到,但它們被解釋爲響應主體的一部分。如果您將此文件包含在希望稍後發送自定義標頭的另一個腳本中,這是個壞消息。腳本開始發送響應正文後,您無法發送標題信息,因此這些不可見的空格會導致腳本失敗。
+2
不要忘記三元運算符:$ var = expr? true-val:false-val; – 2009-05-04 13:18:05
5
這是我個人的 「規則」:
- 文件只PHP代碼:永遠不會結束標籤
- 文件用PHP用別的東西(即HTML)混合:始終結束標記
相關問題
- 1. PHP關閉標記不必要?
- 2. 是否需要關閉ADO記錄集?
- 3. PHP包括和關閉標記
- 4. 關閉DOMDocument中的標記(XML PHP)
- 5. 哪些版本的IE需要基本標記關閉bugfix?
- 6. 我需要關閉它的CSS DIV標記填充
- 7. 管道關閉不需要關閉
- 8. 關閉PHP錯誤中的html標記
- 9. 在VS代碼中關閉HTML標記時再次需要手動縮進
- 10. 是否需要關鍵字元標記?
- 11. 何時關閉bbdd並關閉光標?
- 12. 我需要關閉IAsyncOperation嗎?
- 13. 需要多久Tomcat關閉?
- 14. Groovy XmlParser - >需要關閉?
- 15. OpenGL ES需要「關閉」嗎?
- 16. 我需要關閉流嗎?
- 17. 我需要Javascript關閉嗎?
- 18. replaceWith自動關閉標記
- 19. 關閉不全href標記
- 20. 腳本標記不關閉
- 21. 是否需要關閉HttpWebRequest?如何
- 22. PHP如何檢查MySQLi查詢是否需要關閉?
- 23. 如何關閉由HTML錨標記
- 24. 您需要多少種方式來轉義或關閉HTML標記?
- 25. 如何閱讀使用PHP自我關閉XML標記?
- 26. 選擇標記關閉的jquery事件
- 27. 需要知道應用程序何時關閉
- 28. 需要知道非模態窗口何時關閉
- 29. 只有在java swing中關閉子窗口時才需要關閉父窗口
- 30. 當端口迭代時,關閉窗體需要時間
謝謝,但超越? – Graviton 2009-05-04 09:00:22
除此之外?決不。 – alexn 2009-05-04 09:02:10