构建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模板文件便可进行测试是否引入成功


刚换工做,暂时暂停更新==、

相关文章
相关标签/搜索