1.1PHP語言標記、指令分隔符、註釋

1、PHP開始和結束標誌

       PHP用<?php表示起始,並以?>表示結束。大多數嵌入式腳本語言都是以這樣的模式嵌入到HTML中,例如CSS、ASP、JSP、JS等。
       PHP解析一個文件時,會尋找開始和結束標誌,告訴PHP開始和停止解釋其中的代碼。當PHP碰到結束標誌時,會簡單的將其後的內容原樣輸出,所以一個HTML文檔中可以嵌入任意多個PHP標誌。

##下邊內容不重要,瞭解即可。
       除了上述PHP開始和結束標誌外,還<? ?><% %><script language="php"></script>等,在頁面中嵌入存變量時,還可以用<?=$name ?>,另外<?php ?><script language="php"></script>總是可用的,其他的可以在php.ini中打開開關。
值得注意的是:
1、在php.ini中開啓asp_tags,才能使用。<% %>在php7中已不再支持,不建議使用。
2、<? ?>會干擾XML文檔聲明,一般是禁用的,可以在php.ini中開啓short_open_tag配置,或者在php編譯時加入–short_open_tag選項後纔可以使用。不建議使用。
3、強烈建議使用標準的<?php ?>開始結束標誌。
4、只含有php腳本的文件,不允許結束標誌?>存在,這樣做可以防止結尾被意外注入,從而導致當使用header()、setCookie()、session_start()等設置頭信息的函數是發生失敗。原因:當一個php文件加載另一個php文件時,如果該文件的結束標誌?>後邊含有空格“ ”,那麼在加載該文件後邊使用設置頭信息的函數會發生錯誤。因爲這些函數不允許前面出現空格。另外這些含有結尾標誌的腳本,會原樣輸出結束標誌?>後邊的空格。
PHP標記內的空格,解釋時會自動忽略。
eg:
文件a.php

<?php
// anycode here
?>
[回車]
[回車]

文件b.php

<?php
ob_start();
include_once 'a.php';
$con = ob_get_contents();//此函數返回輸出緩衝區的內容,或者如果輸出緩衝區無效將返回FALSE 。
ob_clean();
var_dump($con)
?>

執行b.php文件會輸出string(4) " "。


2、指令分隔符分號
       PHP每個指令後需要英文分號結束,php的結束標誌?>隱含表示了一個分號,所以在一個php代碼中的最後一行可以不用分號結束。
eg1:

<?php echo "123"?> //最後的結束標記隱含表示了一個分號,所以這裏可以不用分號結束

eg2:

<?php
		echo "123"; //這是一個php指令,後面一定要加上分號表示結束


3、程序註釋
       註釋在程序設計中是相當重要的一部分。註釋的內容會被Web服務器引擎忽略不會被解釋執行。註釋一定要寫在代碼上邊或者右邊,千萬不要寫在代碼的後邊。
1)註釋的作用:
①說明代碼的作用,給閱讀提供幫助,不管是自己還是他人,方便日後的維護。
②註釋當時覺得不合適的代碼,便於以後想使用時,打開註釋即可
③用於調試
2)註釋分類:
①單行註釋。主要有兩種,分別是“//”和“#”。
②多行註釋。以“/*"開始和“*/”結束。多行註釋無法嵌套多行註釋,但是單行註釋和多行註釋是可以互相包含的。
eg1:
下面就是多行註釋嵌套多行註釋的錯誤示例。

 <?php
	 /*
	 echo 123;/*在多行註釋裏邊嵌套多行註釋是不行的*/
	 */

3)註釋注意事項
註釋只會註釋掉結束標誌之前的內容,不會註釋掉結束標誌“?>”
eg:
下邊"?>"不會被註釋掉

<?php
	echo 123;
//?>

4)規範註釋
PHPDocumentor工具,會促使你規範註釋,對已有的規範註釋可以快速生成具有相互參照,索引等功能的API文檔。多行註釋一般使用"/**"開始“*/”結束。我們常見的註釋中有@param大概也是因爲該工具,儘管你沒有使用該工具。
eg:
規範的多行註釋

<?php
	/**
     * 設置當前請求的調度信息
     * @access public
     * @param array|string  $dispatch 調度信息
     * @param string        $type 調度類型
     * @return void
     */
    public static function dispatch($dispatch, $type = 'module'){
	     ...
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章