這樣寫是什麼意思?解決辦法
最後更新:2016-06-13
來源:互聯網
上載者:User
這樣寫是什麼意思?
上面的代碼是在html檔案中寫的,我想請問
這段代碼上面一個EOT上面應有對應的開頭部分。下面一行if($ifmagic && $read[lou]==0){print < < ------解決方案--------------------
你的檔案是否有include或者require其他檔案?
------解決方案--------------------
Heredoc技術,在正規的PHP文檔中和技術書籍中一般沒有詳細講述,只是提到了這是一種Perl風格的字串輸出技術。但是現在的一些論壇程式,和部分文章系統,都巧妙的使用heredoc技術,來部分的實現了介面與代碼的准分離。
在PHP的文檔中,只是提到了echo可以使用如下命令輸出多行字串(而且其中的變數被自動替換):
PHP代碼
複製代碼 代碼如下:
echo <<This uses the "here document" syntax to output
multiple lines with $variable interpolation. Note
that the here document terminator must appear on a
line with just a semicolon. no extra whitespace!
END;
上面的END結束符可以自己規定,使用了“EOT”來結束。但是需要注意的是,這個END必須是在一行的開頭才能有效,這其實是Heredoc技術的一個局限性(因為heredoc可以自訂結束符,所以引入了這個問題)。
為了讓heredoc的內容能被DreamWeaver這樣的編輯器正確識別,以實現“所見即所得 (WYSIWYG)的”的網頁設計,需要在heredoc中增加註釋,樣本檔案如下:
PHP代碼
複製代碼 代碼如下:
Untitled Document
Hello,$name!
這樣的模板檔案,其實就是一個標準的,可以執行的PHP檔案。但是,這樣的PHP檔案,其HTML樣式在DreamWeaver中可以正確的顯示出來,所有的PHP代碼會被看做HTML注釋,而且在輸出的時候,不會輸出出來。比如,上面的檔案在DreamWeaver中,被顯示成:
PHP代碼
複製代碼 代碼如下:
Hello,$name!
這樣,在設計頁面的時候,我們就可以藉助DW的可視化介面,進行一些介面的修改,美化等工作。儘管沒有實現完全的代碼和HTML的分離,但至少提供了一種輔助性的設計手段。
這樣,在設計頁面的時候,我們就可以藉助DW的可視化介面,進行一些介面的修改,美化等工作。儘管沒有實現完全的代碼和HTML的分離,但至少提供了一種輔助性的設計手段。