MicroPHP 2.2.12 发布,PHP 开发框架

2014年09月01日

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/
展开阅读全文
22 收藏
分享
加载中
最新评论 (15)
php5 命名空间\路径\路径\ 这种反斜杠看着极不爽。
2014-09-03 08:22
0
回复
举报

引用来自“qianyunlai”的评论

有 php表单验证 组件么?
请参考表单验证手册, http://microphp.us/plugins/microphp.php?manual.form_validator
2014-09-01 19:52
0
回复
举报
有 php表单验证 组件么?
2014-09-01 19:23
0
回复
举报

引用来自“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就只可以直接执行操作了。
2014-09-01 19:04
0
回复
举报
虽然太像codeigniter ,还是点个赞。
2014-09-01 16:56
0
回复
举报

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

微软出品,必属精品!

引用来自“ihotte”的评论

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

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

不懂幽默啊!唉,天涯何处觅知音???,寂寞啊!!!
好吧,你赢了。。。
2014-09-01 16:37
0
回复
举报

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

微软出品,必属精品!

引用来自“ihotte”的评论

呵呵 话说根MS有一毛钱关系。。。
不懂幽默啊!唉,天涯何处觅知音???,寂寞啊!!!
2014-09-01 16:29
0
回复
举报

引用来自“ben.”的评论

感觉很酷!我在用cli模式做了几个小工具,还挺不错的!就是web的URL感觉不好看?
举个栗子咯
2014-09-01 15:56
0
回复
举报

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

微软出品,必属精品!
呵呵 话说根MS有一毛钱关系。。。
2014-09-01 15:06
0
回复
举报
更多评论
15 评论
22 收藏
分享
返回顶部
顶部