ppf框架的基本介绍

ppf框架是一个基于mvc模式的框架 有着最简单的路由分发以及mvc组件构成的框架。 模仿来自于thinkphp 以及zendframe。以及加入了类似smarty的模版引擎。全方面实现了一个框架从路由分发。载入配置文件。mvc模式以及最后的模版引擎实现。

ppf 简单实现原理如下

PHP每次接收到请求时都要初始化全部资源 处理完毕后再释放全部的资源 ppf框架接收到用户的请求后,需要一个初始化的过程 在初始化时实例化框架的核心模块,然后在把请求传送给框架的相应模块进行处理 所以在初始化完成后,我们还需要根据用户的请求来调用相应的控制器,所以我们需要一个分发器(dispatch)来对用户的请求进行分发。在控制器里,我们就可以调用数据模型和视图来处理用户的请求了。 要处理用户的请求需要先初始化框架的核心模块 如分发器模块,所以用户的请求首先需要被重定向至一个初始化页面,重定向可以使用.htaccess文件来实现 在我们这个框架里,我们首先把所有的请求都重定向至index.php里,在index.php里面完成初始化操作:初始化核心模块,我们还可以在初始化时读入框架的配置文件信息 然后调用分发器把请求分发到相应的控制器,实例化这个控制器,并调用控制器中的方法来处理用户的请求。 在控制器里,我们可以获取用户的输入,判断用户的请求,然后调用相应的数据模型进行数据处理,控制器得到数据后,把数据传给视图,视图根据得到的数据返回一个页面给用户,请求结束。

ppf使用流程说明

http请求->.htaccess->index.php->载入config.php(实例化核心模块)->dispath:init()->调用相应的控制器->view 在视图类中加了自定义的模版引擎。可以自己配置属于自己的模版语言以及方法 具体模版类在/Library/Template.php 以及/Library/Compile.php

ppf 目录结构

ppf ppf框架目录 ├─Application           应用目录 │ ├─Config             配置文件目录 │ │ ├─Config.php     配置路径文件 │ │ └─Database.php   数据库配置文件 | │ ├─module_name       模块目录 │ │ ├─Controller 控制器目录 │ │ ├─Model 模型目录 │ │ └─View 视图目录 | │ ├─other_module_name   其他模块目录 │ │ ├─Controller 控制器目录 │ │ ├─Model 模型目录 │ │ └─View 视图目录 | ├─Cache                 缓存目录 | ├─Public               css,js,image存放目录 │ ├─Css         │ ├─Image │ └─Js ├─Library │ ├─Common             框架公用的函数方法存放目录 │  |  ├─Function.php   框架公用的函数方法 |     ├─ErrorCode.php         异常状态码类 |     ├─ErrorCodeCN.php       异常状态码对应中文解释文件 │ ├─Exception               框架异常处理模块 |     └─FrameException.php    模版异常处理类 | │ ├─Sys                     框架系统核心 │     ├─Compile.php     模版引擎编译类 │     ├─Controller.php   控制器基类 │     ├─Db_Table_Abstract.php 数据库表抽象类 │ ├─Dispath.php 路由分发单例类 │ ├─Model.php Model基类 │ ├─Template.php 模版引擎基类 |     └─View.php       view视图基类 │ ├─index.php 入口文件 ├─.htaccess 用于apache的重写 ├─README.MD               就是本页面 ├─.gitignore           git可忽略的文件

ppf 框架版本更新情况

version 1

可支持的模版引擎实现功能有

{$add} => <?php echo $add;?>

{if $add >0}aaa{else}bbb{/if} => <?php if($add > 0){aaa}else{bbbb} ?>

{foreach name=$aaa}{$key}{$val}{/foreach} => <?php foreach($aaa as $key=>$val){$key $val} ?>

{php echo 111;}{/php} => <?php echo 111;?>

version 1.2

修改了结构展现形式,新增了Library/Common目录,里面存放公用的方法函数 完善了模版引擎功能,新增了多维数组赋值以及多维数组循环功能(具体代码可以参考Application/Test/Controller/IndexController.php以及Test/View/Index/add.html) 增加异常处理模块,可自定义,以及对应异常状态码的设定 数据库链式操作(现已更新查询操作)

version 1.3

新增支持的模版引擎

{include Public/header.html} => <?php include "/Library/WebServer/Documents/mywebsite/Application/Index/View/Public/header.html";?>

{foreach name=$aaa item=key value=val}{$key}{$val}{/foreach} => <?php foreach($aaa as $key=>$val){$key $val} ?>

作者联系方式

QQ:556830740

版权声明:

1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。
2、网站不提供资料下载,如需下载请到原作者页面进行下载。
3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考学习用!
4、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。