轻量级框架与重量级框架之间有没有根据区分

取个昵称咋这么难啊 发布于 2016/09/13 18:39
阅读 1K+
收藏 0
轻量级框架与重量级框架之间有没有根据区分
加载中
0
eechen
eechen
优秀的框架应该是不排他,多功能,高性能,轻重不影响性能,比如:

/index.php (页面控制器)
if(!defined('ROOT')) define('ROOT', __DIR__);
require ROOT.'/include/common.php';
echo render('index.php');

/include/common.php (公共操作)
if(!defined('ROOT')) exit();
require ROOT.'/include/funclass.php';

/include/funclass.php (函数和类)
if(!defined('ROOT')) exit();
function render($view) {
    ob_end_clean(); ob_start();
    require ROOT.'/view/'.$view;
    $html = ob_get_contents();
    ob_end_clean(); ob_start();
    return $html;
}

/view/index.php (视图)
if(!defined('ROOT')) exit();
require 'header.php';
require 'footer.php';

"不排他"体现在任何放在/view下的外来页面如other.php,只需在页面头部添加 if(!defined('ROOT')) exit(); 避免直接访问,并在/下新建一个页面控制器/other.php,里面render('other.php')即可加入框架运行.

"多功能"体现在框架开发者可以不断往/include/funclass.php里添加功能函数和类,方便使用者调用.

"高性能"体现在不需要统一入口解析URI,而是由页面控制器直接处理请求.另外,就算funclass.php里定义的大量的功能函数,因为只是定义没有执行,所以对系统性能的影响忽略不计.

我所理解的重量级框架应该是其内置实现了大量功能函数给框架使用者,比如cookie身份认证,基于数据库的cookie会话存储,分页,XSS过滤,验证码等经常用到的基础功能.而且要求使用者处理相同逻辑时比如输出Hello World的性能应该接近于一个普通页面Hello World测试的性能.
1
负心杏

就自己理解说下:

重量级:一般大而全,追求解决一切开发中遇到的问题,并兼容尽可能多的第三方解决方案。而且为了优雅、高效、可扩展的实现上述目标,通常会抽象N多层,将流程中的每一个(变量)节点都做成可扩展、多方案的、易于定制(框架开发人员认为,但实际上能做到的比较少)。如果对框架非常熟悉的话,会非常容易解决遇到的一切问题(有关框架的)。通常需要框架级人员抽出一套适合项目的配置,并制定规范来统一风格。

轻量级:应该是追求小而美且专,解决开发中最常遇到的问题,通常会放弃一些功能来保持轻量级、易使用、等的风格。当开发中小型项目会感觉非常顺手,但如果遇到各种需要的时候,就是需要自己动手的时候。

0
公孙二狗
公孙二狗
重量级一般有几个特点: 大,功能全,使用不人性化
返回顶部
顶部