標籤:bsp 匹配 php學習 大寫 轉換 plugin abc star 目錄
》PHP 物件導向
- 使用parent訪問父類的構造方法(__construct)時一定要為當前類繼承要訪問的構造方法
- 類的構造方法(__construct)在執行個體化時直接被載入,靜態方法不需要執行個體化
- 靜態成員(static)存取方法:self::$abc
- 函數 spl_autoload_register(方法) 僅在使用不存在類時被觸發該方法,並傳入一個類名
- 執行個體化PDO類時如果當前檔案有命名空間(namespace),則輸出後會報錯該目錄下不存在PDO類,所以必須在PDO前加一個反斜線:\PDO
- 執行個體化一個類也可以不用變數來存放,如:new PDO()
- preg_match($pattern, $string); 返回匹配次數,參數一是Regex,二是匹配內容,此函數只匹配一次,匹配全部請用preg_match_all
- preg_replace(‘/\{\$([\w]+)\}/‘, " b ", ‘個{$dd}f仿{$dd}4s65f‘); 替換正則匹配到的內容並返回,參數一是運算式,二是替換內容,三是原文
- json_encode(); 函數中文亂碼(u265/ 類似情形)和部分符號被轉化解決方案:
foreach ($data as $key => $value) { $data[$key] = urlencode($value);}
- 為每個值urlencode一下,返回時再urldecode(json_encode())就好了!
- namespace(命名空間)使用:一個檔案 app\ctrl\model.php,其命名空間應為 namespace App\Ctrl;
- 規範:命名空間每級首字母大寫、類名首字母大寫、常量全部大寫
- 》命名空間和use關鍵字
- 為類起一個命名空間:namespace plugin;
- 使用use訪問這個類:use plugin\nos;
- 注意:使用use訪問類時必須先把這個類引入(include)
- 推薦使用 spl_autoload_register() 自動為你載入不存在的類
》PHP 模板
1. 為什麼要使用模板?
2. 為什麼要緩衝模板?
3. 為什麼要把模板編譯成PHP檔案?
- 模板中使用了一些自訂文法,如 {$name} , 為了使其正常顯示,需將它轉換為 <?php echo $name 輸出,將轉換後的檔案編譯成檔案,下次直接調用!
4. 如何將模板緩衝?
- 將引入的編譯檔案放如緩衝器 ob_start() ,然後使用 ob_get_contents() 將複製到的內容用 file_put_contents() 儲存成快取檔案
PHP學習總結(一)