對finecms模板的改造sql

2021-09-23 04:34:13 字數 1150 閱讀 2804

對於finecms的模板中不能愉快地寫sql語句,好麻煩,對於手冊上寫的語法,表示腦容量不夠沒看懂,索性直接改造一下,模板的引擎吧

protected function _listdata($param)

//以下是原來的**

$_param = explode(' ', $param);

$param = array();

這樣的話,就可以愉快地寫sql語句了

下面寫了個demo,大家可以試下

但是有乙個問題,如果看你的模板就可以直接看到sql語句了,另外了沒有對sql語句進行過濾,所以要進一步處理一下,因為這個是臨時應付一下,所以暫時先這樣

對於模板容易被別人看到的問題,可行的解決辦法是這樣的,把模板檔案的副檔名改為.php ,並在解析模板的時候,去掉php標記就可以了

所以做了以下幾點改動

第一,把模板檔案的副檔名改為php,並在檔案的頭部加入了這樣一句話<?php exit();?>

第二,修改模板的解析檔案,主要的改動

/**

* 獲取視**件的路徑

*/protected function get_view_file($file_name)

/**

* 載入視**件

*/protected function load_view_file($view_file)

$view_content = file_get_contents($view_file);

$view_content= substr($view_content, 15);

return $this->handle_view_file($view_content);

}

這樣就完成了模板的改造問題,這樣,別有用心的人瀏覽模板檔案時就會出現空白頁面,起到了保護模板的作用

在做這個改動的時候,檢視原始檔,發現是在dayrui/core/common.php中引入的檔案解析類,

如果要相容其他的模板可以做乙個新的解析類來相容其它模板檔案(個人認為原view類寫的太複雜,腦容量小的根本就看不懂啊)

NULL對IN的查詢的影響及解決示例 sql

1.null 對 in not in 查詢的影響 測試資料 declare 1 table col1 int insert 1 select 1 union all select null union all select 2 declare 2 table col1 int insert 2 se...

NULL對IN的查詢的影響及解決示例 sql

1.null 對 in not in 查詢的影響 測試資料 declare 1 table col1 int insert 1 select 1 union all select null union all select 2 declare 2 table col1 int insert 2 se...

對模板引擎的思考

當前,web開發已經變得非常火爆,因為各種應用,已經約來越要求表現層和邏輯層的分離.asp和html夾在一起程式將變得難於維護,可讀性也差。在php領域,模板引擎已經非常普遍,如phplib,smarty,等等.有使用替換方式的,也有編譯方式的 smarty 它們都較好的實現了邏輯層和表現層的分離....