本人是一个热爱php的phper,目前算算也有3年的开发史了,前前后后也写了不少大大小小的程序,使用了几个框架,往往在性能和简洁性上不能获得很好的平衡,发现越来越需要有一个适合自己的快速开发框架,目前已经积累了不少的好的函数和类,所以就打算写个属于自己的框架,目前已经初步完成,完全采用MVC架构,框架本身就6个文件(5个核心类和一个入口文件),体积可以说是已经很小了,可以根据需求轻松的注入比如Smarty模板引擎作为视图操作,任意的数据库类作为自己项目的数据库操作类,等等,总之伸缩性很好,当然肯定有不足的地方,力图进一步优化完善。
一说起来就挺不住了^_^,不罗嗦了,说的再好是骡子是马拉出来溜溜就知道了。
下面是一个在页面上输出Hello World,比较的是运行时间和内存使用。
首先看运行结果对比图:
结果评比:
发现速度MrPmvc比原生的php还快一点点 *_* ,内存上MrPmvc大了一些,因为加载了创建一些对象,这是MrPmvc加载了缓存类后的运行结果,如果不加载缓存类,内存使用是512KB,在我多次刷新后,发现MrPmvc时间稳定在0.000010-0.000017之间。原生的时间稳定在0.000015-0.000020之间。
代码贴出来:
首先是原生的php
nomvc.php
<?php
$mtime = explode(' ', microtime());
$starttime = $mtime[1] + $mtime[0];
echo 'Hello World!<br/>';
$mtime = explode(' ', microtime());
$lasttime = $mtime[1] + $mtime[0]-$starttime;
echo 'Page render in '.sprintf('%.10f',$lasttime).' sec. Memory usage : '.memory_get_usage(TRUE)/(1024).' KB';
接下来看看MrPmvc的控制器里的代码:
<?php if(!defined('IN_APP')){exit();}
#默认控制器
class Index extends BaseControl{
public function __construct(){
parent::__construct();#一定不能忘记调用父类构造方法
}
public function onIndex(){
$mtime = explode(' ', microtime());
$starttime = $mtime[1] + $mtime[0];
echo 'Hello World!<br/>';
$mtime = explode(' ', microtime());
$lasttime = $mtime[1] + $mtime[0]-$starttime;
echo 'Page render in '.sprintf('%.10f',$lasttime).' sec. Memory usage : '.memory_get_usage(TRUE)/(1024).' KB';
// $this->view->display('index.php');
}
}
更多关于MrPmvc框架动态我会在以后介绍。