構建mvc框架學習

作了那麼久PHP開發,開始嘗試去作一個簡單的mvc框架。
php

1、首先肯定目錄結構

因爲不太想弄得太複雜的結構,所以,將全部的目錄存放於libs中,項目根目錄只留一個index.php以及config.php,造成一個相似於thinkPHP的單一入口模式。html

libs中目錄結構爲Controller(控制器),Model(模型),View(視圖),ORG(第三方類庫)緩存

單一入口模式的優勢:安全

    1.能夠在入口文件中完成一系列全部文件都要進行的一些相同操做,例如安全性檢查,數據安全攔截,特殊字符過濾,數據統計等多種功能網絡

    2.在單一入口模式可使整個項目看上去更規整,更易於往後的維護mvc

    3.單一入口模式更易於攔截非法請求框架

同時單一入口模式也存在一些缺陷,例如url不美觀等問題性能

2、視圖引擎的選擇

好的視圖引擎:測試

    1.基於該引擎開發出的視圖模板更貼近標準的html等ui

    2.語法簡單易懂

    3.良好的緩存機制

    4.擴展性能好

    5.網絡資源多(其實就是有問題能度孃的到,發帖能有一堆人頂!d=====( ̄▽ ̄*)b)

基於上述種種緣由,lz選擇了smarty模板引擎,不爲啥,任性!(主要仍是由於我最經常使用的就是介個==、),在lz的糾結之下,終於選擇了smarty-3.1.29版本

3、模板引擎引入、配置

    1.smarty獲取

        將smarty中libs文件夾下的smarty引擎的核心文件複製到ORG中

        

    2.smarty目錄說明

        /Smarty.class.php       #smarty引擎的主文件

        /sysplugins                 #smarty引擎的內部plugin

        /plugins                      #smarty引擎的外部plugin,可自由擴充

        /SmartyBC.class.php #用於加強smarty引擎的上下兼容能力

    3.引入smarty

        在smarty同級目錄下建立一個test目錄用做引入,同時在test目錄下建立test.php文件,經過test文件進行smarty的引入測試以及練習。

        test.php中經過如下代碼進行smarty引擎的引入      

<?php
	require('../smarty/Smarty.class.php');
	$smarty=new Smarty();
?>

    4.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;//緩存時間

?>

    5.使用smarty引擎

    經過實例化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模板文件便可進行測試是否引入成功


剛換工做,暫時暫停更新==、

相關文章
相關標籤/搜索