发布于 2014-09-01 03:25:13 | 166 次阅读 | 评论: 0 | 来源: 网友投递
MicroPHP 轻量级MVC模式PHP开发框架
MicroPHP是一个免费、开源、敏捷的MVC模式的PHP开发框架。它易拓展而不失灵活,可以轻松对应大中小型项目。它没有大而全的功能,只给你最需要的底层功能,但是给你无限的灵活拓展能力。
MicroPHP 2.2.12 发布,更新内容如下:
增加了:
1.$this->lib($file_name, $alias_name = null,$new=true),增加了第三个参数$new,默认true。
默认情况下,$this->lib()加载类库的时候,会new一个类的对象。
有时候我们只是为了包含进来类库文件,或者类是不可实例化的,那么我们只要指定$new=false即可。
然后$this->lib()加载类库的时,只是包含文件,并不会new一个类的对象,此时xxx类对应的$this->lib->xxx不再可用,是null。
2.系统配置中,类库自动加载的时候,可以指定new参数。
$system['library_file_autoload'] = array();
自动加载的library文件,比如array($item);
$item是library文件名或者"配置数组",不包含后缀。
比如: ImageTool 或者配置数组array('ImageTool'=>'image'),或者配置数组array('ImageTool'=>'image','new'=>fasle)
配置数组的作用是为长的类库名用别名代替.
3.$this->helper($file_name, $is_config = true),增加了第二个参数$is_config,默认true。
默认情况下,$this->helper()加载helper文件的时候,会把文件里面的全局变量放到self::$config里面。
有时候我们只想要包含helper文件,不对里面的变量进行处理。那么可以通过指定第二个参数$is_config=false即可。
4.系统配置中,helper自动加载的时候,可以指定$is_config参数。
$system['helper_file_autoload] = array();
自动加载的helper文件,比如array($item);
$item是helper文件名或者"配置数组",不包含后缀。
比如: html 或者配置数组array('html'=>false),这里的数组key是helper文件,值就是$is_config参数,是true或者false。
修复了:
1.sqlite_escape_string在PHP5.4及以上的版本中被废弃了,使用SQLite3::escapeString()代替。
2.表模型的search方法报错的问题。
优化了:
1.精简了缓存类
2.$this->page()产生的分页条,当页数大于2页时再显示,这样避免了出现尴尬的一页的时候,还有下一页。
3.优化了对路由字符串的解析,能够支持get表单通过name指定要访问的控制器方法。
4.移除了$system['folder_auto_init']系统配置,下载的代码中已经包含了完整的文件夹结构,
这个自动建立文件夹功能有些鸡肋,为了提高性能移除掉。
5.优化了xss过滤方法:$this->input->xss_clean()。
升级提示:
无
MicroPHP是一个免费、开源、敏捷的MVC模式的PHP开发框架。它易拓展而不失灵活,可以轻松对应大中小型项目。MicroPHP没有大而全的功能,只给你最需要的底层功能,但是给你无限的灵活拓展能力。其它框架都有的基本特性这里就不一一罗列。 说一下MicroPHP的特性: 1. 整个框架核心就一个文件MicroPHP.php(压缩后的文件MicroPHP.min.php,140KB左右)。 2. 入口文件index.php也是整个项目的配置文件,一个入口文件就是一个项目的入口,可以自定义多个入口文件达到不同项目共存的目的,项目之间随意共享类库、帮助文件等目录,框架核心文件采用零侵入式编写,整个框架的运行不依赖任何外部变量,初始化的时候只要通过WoniuRouter::setConfig($system)注入配置,然后WoniuRouter::loadClass()执行即可。 3. 独特的插件模式。 4. 项目控制器、模型、视图、类库等各种文件夹完全自定义,用到什么就建立什么文件夹,彻底摆脱一堆无用的一大堆文件夹的困扰。 5. 类库采用懒加载模式,只要按着规定命名规则,然后把你的类库文件扔到类库文件夹,在控制器或者模型中直接new 类库名()即可,系统会自动加载相应的类库文件。 6. 没有视图就不能指定视图数据?文件可以include共享那么视图为什么不能共享数据呢?在MicroPHP里面你不再有这个困挠,MicroPHP可以在$this->view_vars数组里面存放你的任何想在视图里面使用的全局数据。 特别是网站头部导航用户数据全站每个页面都用到,那么可以自定义个控制器父类,然后和在父类构造方法里面初始化这个用户数据,放到$this->view_vars里面,那么所有的控制器再也不用重复的去取用户数据传给视图。 7. 灵活的session托管,支持的管理类型:mongodb,mysql,memcache,redis.当然也可以用系统默认的管理方式.session托管是可选的,根据项目具体情况择优选用即可。session托管的好处很多,比如:支持分布式、精确控制session过期时间,等等。 8. 灵活的缓存机制。 (1).可用的方式缓存驱动有:auto,apc,sqlite,files,memcached,redis,wincache,xcache,memcache。auto自动模式寻找的顺序是 : apc,sqlite,files,memcached,redis,wincache,xcache,memcache。 (2).缓存配置有个第二驱动机制,比如:当你现在在代码中使用的是memcached, apc等等,然后你的代码转移到了一个新的服务器而且不支持memcached 或 apc这时候怎么办呢?设置第二驱动即可,当你设置的驱动不支持的时候,系统就使用第二驱动。 更多详细信息,请移步官网:http://microphp.us/