MicroPHP 2.2.12 发布,PHP 开发框架

狂奔的蜗牛.
 狂奔的蜗牛.
发布于 2014年09月01日
收藏 22

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/
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:MicroPHP 2.2.12 发布,PHP 开发框架
加载中

最新评论(15

青怪
青怪
php5 命名空间\路径\路径\ 这种反斜杠看着极不爽。
狂奔的蜗牛.
狂奔的蜗牛.

引用来自“qianyunlai”的评论

有 php表单验证 组件么?
请参考表单验证手册, http://microphp.us/plugins/microphp.php?manual.form_validator
钱途无梁
钱途无梁
有 php表单验证 组件么?
ben.
ben.

引用来自“ben.”的评论

感觉很酷!我在用cli模式做了几个小工具,还挺不错的!就是web的URL感觉不好看?

引用来自“钛元素”的评论

举个栗子咯
关于URL的吐槽? http://wenda60.com/?article.wenda/contact_us 你看这个,问号后面C.A/P 控制器,action,参数,不如pathinfo形式好看。
如果说是关于CLI模式的,http://microphp.us/plugins/microphp.php?manual.console 手册。很简单的。
自己写一个简单的批处理,放在环境变量的目录下,打开CMD就只可以直接执行操作了。
开源内裤
开源内裤
虽然太像codeigniter ,还是点个赞。
狂飙的小蜗牛
狂飙的小蜗牛

引用来自“吕秀才”的评论

微软出品,必属精品!

引用来自“ihotte”的评论

呵呵 话说根MS有一毛钱关系。。。

引用来自“吕秀才”的评论

不懂幽默啊!唉,天涯何处觅知音???,寂寞啊!!!
好吧,你赢了。。。
吕秀才
吕秀才

引用来自“吕秀才”的评论

微软出品,必属精品!

引用来自“ihotte”的评论

呵呵 话说根MS有一毛钱关系。。。
不懂幽默啊!唉,天涯何处觅知音???,寂寞啊!!!
钛元素
钛元素

引用来自“ben.”的评论

感觉很酷!我在用cli模式做了几个小工具,还挺不错的!就是web的URL感觉不好看?
举个栗子咯
狂飙的小蜗牛
狂飙的小蜗牛

引用来自“吕秀才”的评论

微软出品,必属精品!
呵呵 话说根MS有一毛钱关系。。。
返回顶部
顶部