PHP中幾個小問題

2021-06-27 13:33:43 字數 1140 閱讀 9936

1.定界符中的變數解析問題

$data = array('name' => 'caihf', 'province' => 'hubei');

echo <<

定界符在php手冊中的說明

另一種給字串定界的方法使用定界符語法(「<<<」)。應該在 <<< 之後提供乙個識別符號,然後是字串,然後是同樣的識別符號結束字串。

結束識別符號必須從行的第一列開始。同樣,識別符號也必須遵循 php 中其它任何標籤的命名規則:只能包含字母數字下劃線,而且必須以下劃線或非數字字元開始。 警告

很重要的一點必須指出,結束識別符號所在的行不能包含任何其它字元,可能除了乙個分號(;)之外。這尤其意味著該識別符號不能被縮排,而且在分號之前和之後都不能有任何空格或製表符。同樣重要的是要意識到在結束識別符號之前的第乙個字元必須是你的作業系統中定義的換行符。例如在 macintosh 系統中是 。

如果破壞了這條規則使得結束識別符號不「乾淨」,則它不會被視為結束識別符號,php 將繼續尋找下去。如果在這種情況下找不到合適的結束識別符號,將會導致乙個在指令碼最後一行出現的語法錯誤。

不能用定界符語法初始化類成員。用其它字串語法替代。 下面是乙個非法的例子

<?php

class foo

3.關於模板

php中有smarty、phplib等模板,

但是實際上我們可以把php檔案自身看成是模板,同時模板的大致原理就是把模板特定的標記替換為php的語法,然後把替換以後的結果包含起來執行

,有的模板有編譯快取,有的則沒有,有模板編譯快取的好處是當模板沒有變化時不需要重新編譯模板。

我們現在來弄個小模板做個小的測試

test.php檔案內容如下:

displaypage();

exit;

function displaypage()

test.tpl.html的檔案內容如下,當然test.tpl.html自已來執行沒有任何意義,它主要是用來被其它的檔案呼叫

"><?php echo $title;?>

執行test.php檔案以後,檢視頁面的源**,內容如下:

從徐靜蕾的**看名人如何利用網路掘金

實際上zend framework以前的版本中模板也是這麼處理的,就是用php檔案做模板,也就是模板中就是php的語法,現在的版本不知道是怎麼處理的。

幾個小問題

1 乙個頁面裡面載入了兩個js檔案,兩個檔案中同時都有乙個名為del 的方法,結果造成衝突。考慮如何使用類的方 式來封裝js,js命名方式和結構要規範。2 不要在使用ajax方式的時候,犯一些低階的錯誤 不要在使用非同步載入資料的時候,使用 window.location.reload 方法 不要在...

面試中的幾個小問題

面試中的幾個小問題 1 對stl中list封裝 參考1 2 對重要c函式實現 參考2 memset void memset void buffer,int c,int count memcpy void memcpy void dst,const void src,int count return ...

幾個python小問題

1 t.geometry 260x60 200 250 製作乙個大小為260x60的視窗,距離左上角 200 250 2 grid row 0,column 0,sticky e sticky 意思是元件緊靠所在單元格的某一邊角。取值有 n s w e nw sw se ne center 預設為 ...