2013年6月22日

PHP標記、指令分隔符、註解

PHP標記

當解析一份文件時,解析器會尋找開始標籤<?php以及結束標籤?>,這告訴了解析器開始以及停止解析兩者之間的代碼。
因為這樣的解析方式,PHP可以被嵌入在不同的檔案中,兩個標籤之間的文字會被當作PHP代碼解析,其餘則不處理。

可以使用的方式有
1. <?php  ?>
標準且常用的方式

2. <?     ?>
短標籤,簡寫,必須要在 php.ini 內將 short_open_tag 設定為 on,或者在PHP編譯時加上 --enable-short-tags 選項

3. <%     %>
ASP標籤,必須要在 php.ini 內將 asp_tags 設定為 on。

4. <script language="php"> </script>
標籤內的文字不分大小寫

NOTE

另外提到一點是如果該文件是純PHP檔案的話可以省略結尾符號,雖然結尾符號後會刪除一個換行符號,但是如果有兩個換行符號或者是空白符號,則會出現非預期的空白出現。

避免使用短標記,尤其是開發需要更新的程式,或者是你無法控制設定的環境(虛擬主機),為了確保程式碼移植與發行,不要使用短標記

在PHP5.2和之前的版本中,解析器不允許一個文件的內容只有一個開始標記"<?php"。但是在PHP5.3以後就可以,不過在開始標記後面必須要有一個或更多的空白
例如:"<?php "

PHP5.4起,短標記的echo寫法會被識別且是合法,不再管 short_open_tag 的設定如何。
例如: Hello <?=$name ?> 可以被允許
否則你必須寫成 Hello <?php echo $name ?>

單行註解遇到結束符號的情況也要特別注意,下列程式碼並沒有將結尾符號註解。
<?php
// ?>
echo 111;
?>

指令分隔符

跟C還有Perl一樣,PHP需要在每個語句的後面使用分號當作結束。
但是PHP的結束符號包含了一個行結束,下列的寫法是允許的。
<?php 
echo "Hello";
echo "This is a test" 
?>

註解

單行註解可以使用//或者是#
<?php 
//這是註解
#這是註解
?>
要注意的是單行註解後面如果接有?>結束標記,會跳離PHP模式解析。

多行註解 /* */
<?php 
/*
這是註解
這是註解
這是註解
這是註解
*/
?>
要注意的是多行註解中又使用多行註解,註解的開始符號找到第一個結束符號就結束了,所以可能會出現非預期的錯誤
<?php 
/*
這是註解
/*這是註解
這是註解*/
這是註解
*/
?>

沒有留言:

張貼留言