作了那麼久PHP開發,開始嘗試去作一個簡單的mvc框架。
php
因爲不太想弄得太複雜的結構,所以,將全部的目錄存放於libs中,項目根目錄只留一個index.php以及config.php,造成一個相似於thinkPHP的單一入口模式。html
libs中目錄結構爲Controller(控制器),Model(模型),View(視圖),ORG(第三方類庫)緩存
單一入口模式的優勢:安全
1.能夠在入口文件中完成一系列全部文件都要進行的一些相同操做,例如安全性檢查,數據安全攔截,特殊字符過濾,數據統計等多種功能網絡
2.在單一入口模式可使整個項目看上去更規整,更易於往後的維護mvc
3.單一入口模式更易於攔截非法請求框架
同時單一入口模式也存在一些缺陷,例如url不美觀等問題性能
好的視圖引擎:測試
1.基於該引擎開發出的視圖模板更貼近標準的html等ui
2.語法簡單易懂
3.良好的緩存機制
4.擴展性能好
5.網絡資源多(其實就是有問題能度孃的到,發帖能有一堆人頂!d=====( ̄▽ ̄*)b)
基於上述種種緣由,lz選擇了smarty模板引擎,不爲啥,任性!(主要仍是由於我最經常使用的就是介個==、),在lz的糾結之下,終於選擇了smarty-3.1.29版本
將smarty中libs文件夾下的smarty引擎的核心文件複製到ORG中
/Smarty.class.php #smarty引擎的主文件
/sysplugins #smarty引擎的內部plugin
/plugins #smarty引擎的外部plugin,可自由擴充
/SmartyBC.class.php #用於加強smarty引擎的上下兼容能力
在smarty同級目錄下建立一個test目錄用做引入,同時在test目錄下建立test.php文件,經過test文件進行smarty的引入測試以及練習。
test.php中經過如下代碼進行smarty引擎的引入
<?php require('../smarty/Smarty.class.php'); $smarty=new Smarty(); ?>
smarty引擎主要配置如下幾個配置項
1.左右界定符 :left_delimiter,right_delimiter
2.html模板存放目錄:template_dir
3.編譯文件存放目錄:compile_dir
4.緩存目錄:cache_dir
5.開啓緩存:caching(非必要)
6.緩存時間:cache_lifetime(非必要)
相應代碼以下:
<?php require('../smarty/Smarty.class.php');//引入smarty核心文件 $smarty=new Smarty();//實例化smarty類 $smarty->left_delimiter="{";//左界定符 $smarty->right_delimiter="}";//右界定符 $smarty->template_dir="../../Tpl";//html模板的存放位置 $smarty->compile_dir="../../template_c";//編譯生成的文件 // $smarty->cache_dir="../cache";//緩存 //如下是開啓緩存的配置 //$smarty->caching=true;//開啓緩存 //$smarty->cache_lifetime=120;//緩存時間 ?>
經過實例化smarty變量調用assign以及display方法便可。
assign方法是傳遞參數方法
display方法是展現模板方法 代碼以下
<?php require('../smarty/Smarty.class.php'); $smarty=new Smarty(); $smarty->left_delimiter="{";//左界定符 $smarty->right_delimiter="}";//右界定符 $smarty->template_dir="../../Tpl";//html模板的存放位置 $smarty->compile_dir="../../template_c";//編譯生成的文件 // $smarty->cache_dir="../cache";//緩存 //如下是開啓緩存的配置 //$smarty->caching=true;//開啓緩存 //$smarty->cache_lifetime=120;//緩存時間 $smarty->assign('title','文章標題'); $smarty->display('test.tpl'); ?>
在以前配置的模板存放位置中建立test模板文件便可進行測試是否引入成功
剛換工做,暫時暫停更新==、