MicroPHP 2.2.5 发布 - 开源中国社区
Float_left Icon_close
MicroPHP 2.2.5 发布
狂奔的蜗牛. 2014年04月19日

MicroPHP 2.2.5 发布

狂奔的蜗牛. 狂奔的蜗牛. 发布于2014年04月19日 收藏 17 评论 6

做APP,小程序就上开源众包。世界杯期间免费领2600元启动金。>>>  

MicroPHP 2.2.5  
增加了
1.增加sessionStart()函数,安全启用session,避免重复启用session。
2.表单验证unique[table.field,id:1],其中的id:1支持变量。
  比如:id:#user_id,
  那么就会使用get或者post的user_id内容作为id内容。
3.表单验证增加了default[默认值]规则。
  当没有post对应字段的值或者值为空的时候那么就会使用默认规则的值作为该字段的值。然后用这个值继续
  后面的规则进行验证。
4.表单验证增加了optional可以为空规则;例如user字段规则中有optional,当没有传递字段user的值或者值是空的时候,
  user验证会通过(忽略其它规则即使有required规则),
  提示:
    $this->checkData($rule, $_POST, $ret_data)返回的数据$ret_data,
    如果传递了user字段$ret_data就有user字段,反之没有user字段.
    如果user传递有值,那么就会用这个值继续后面的规则进行验证。
5.增加了$system['message_page_view'] = '';配置项,即$this->message()方法默认使用的视图,
  该视图会在第4个参数为null时使用。视图里面可以使用的有三个变量:$msg提示内容,$url跳转的url,$time停留时间。
  这里需要填写的是视图名称,不带视图后缀。没有就留空。
6.增加了function systemInfo($key = NULL)函数,获取系统配置信息,也就是WoniuLoader::$system里面的信息,
  $key是WoniuLoader::$system的键。
7.增加了function dbInfo($group = NULL)函数,获取系统数据库配置信息。
  $group是数据库组名称,即WoniuLoader::$system['db']的键。
  $group为null时返回默认的配置组,即WoniuLoader::$system['db']['active_group']指定的组。
8.使用$this->model->$model_class_name时,当$model_class_name模型没有被加载的时候会自动尝试加载。
  注意:此时$model_class_name一定要是模型名称类名称区分大小写,否则会提示找不到模型类文件。

优化了
1.mysql_escape_string()在PHP5.3及以上版本中不再使用。
2.缓存文件夹的判断避免了只读环境报错。
3.错误控制逻辑。
4.$this->model($model_name,$alias_name),没有指定$alias_name的时候,通过$this->model->xxx访问模型类的,
  xxx和$model_name中的模型类名称是一样的,“区分大小写”。
比如:
  1.$this->model('admin/UserModel');加载模型目录中admin文件夹下面的UserModel模型,那么xxx就是UserModel
  2.$this->model('AdminModel');加载模型目录中的AdminModel模型,那么xxx就是AdminModel
修复了:
1.$this->ajax_echoajax_echo($code, $tip = null, $data = null, $jsonp_callback = null, $is_exit = true)
  当$tip或者$data为0的时候不显示0的bug;
2.$this->page()产生的分页条在某些情况下会js报错的bug
3.当设置了错误处理,@不能抑制错误的bug

升级提示
1.为了方便,2.2.5之前版本的:$this->message($msg,$view = null, $url = null, $time = 3);
  在2.2.5以及后续版本中,参数顺序调整为:$this->message($msg, $url = null, $time = 3, $view = null);
  升级之前如果之前代码使用了$this->message()记得修改一下参数顺序。
2.在$system配置里面增加一项:$system['message_page_view'] = '';
3.为了更加规范,凡是使用了$this->model($model_name,$alias_name),没有传递$alias_name参数的代码,
  当通过$this->model->xxx,引用模型的时候xxx必须和$model_name中的模型类名称是一样的。
  2.2.5之前的版本xxx是模型类名称的全部小写。

 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.5 发布
分享
评论(6)
最新评论
0

之前看过,感觉:易学、好用!

0

引用来自“獨家微笑”的评论

蜗牛

引用来自“狂奔的蜗牛.”的评论

早~

官网速度真心不给力,用 google pagespeed service 吧

0

支持

0

引用来自“獨家微笑”的评论

蜗牛

早~

0

蜗牛

0

这个更新说明很用心,真心赞。 框架好不好 技术并不一定最重要,配套的文档更重要 CI就是例子

顶部