為什麼有些php代碼有<?php但是沒有?>結束呢?

來源:互聯網
上載者:User
為什麼有些php代碼有結束呢?

回複內容:

為什麼有些php代碼有結束呢?

PHP-FIG/PSR-2:代碼風格規範

LS幾位寫的都不錯, 再多說幾句吧

a.php:

 之後有空白字元?>    

b.php:

a.php末尾的空白字元也會被輸出,然後就報錯了,然後就找了N久也沒找到錯誤在哪兒~~ 然而不帶?> 就不會出現這個問題。

都是血和淚的教訓

PHP可以在純php檔案裡不以?>結尾.

這是為了避免包含php檔案時帶來額外字元導致的錯誤

如果指令碼中還要包含其他的指令碼,那結尾的?>就不要寫了,以免出現錯誤

我看了下,答案裡面沒有提到PSR規範的,PSR-1基本代碼規範中,關於代碼開頭和PHP標籤開頭的描述如下:

  1. 概覽
    PHP代碼檔案必須以

2.1. PHP標籤
PHP代碼必須使用 長標籤 或 短輸出標籤;

而所有PSR-1到4的範例程式碼,都沒有用?>作為結束,可以借鑒參考。

如果檔案內容是純 PHP 代碼,最好在檔案末尾刪除 PHP 結束標記。這可以避免在 PHP 結束標記之後萬一意外加入了空格或者分行符號,會導致 PHP 開始輸出這些空白,而指令碼中此時並無輸出的意圖。

echo "Hello world";

// ... more code

echo "Last statement";

// 指令碼至此結束,並無 PHP 結束標記

一般如果某個檔案是需要被包含的尾部可以不要以?>結尾

是為了防止尾部有空白字元,導致無意義的輸出,這會影響header輸出!而且PHP指令碼並沒有說一定要加結尾啊

如果PHP下邊沒有其他代碼,可以省略?>

樓上的全說了。
純的PHP不需要寫 ?>

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.