Skip to content

nForum 2.0 Changelog

xw2423 edited this page Nov 25, 2013 · 3 revisions

本文档记录了nForum1.1版本至nForum2.0版本的大部分变化,由于nForum2.0采用了基于Yaf的全新的底层框架,所以目前在版本库的2.0分支进行开发,nForum之后的新功能都将在此分支上进行添加,master分支所对应的nForum1.1只进行必要的bugfix。

nForum2.0的主要变化

  • 采用Yaf框架代替原有的cakephp框架完成基本的MVC功能,整个代码目录规则都遵循Yaf的规则,详见Yaf官方文档

  • 根据Yaf的规则,nForum1.1与nForum2.0的目录和文件粗略对应关系为

    1.1/app/www === 2.0/www
    1.1/app/config === 2.0/conf
    1.1/app/config/bootstrap.php === 2.0/app/boot.php
    1.1/app/plugins === 2.0/app/modules
    1.1/app/controllers/components === 2.0/app/plugins
    1.1/app/vendors === 2.0/lib
    1.1/cake/console/cake === 2.0/bin/cli

  • AppController类改名NF_Controller, AppView类改名为NF_View,Shell类改名为NF_Shell,其中的main方法增加两个参数

  • controller的action方法统一加上Action的后缀,比如index变为indexAction

  • controller的front,html,spider属性变为Request对象属性,详见 app/boot.php

  • controller的beforeFilter方法改名为init,删除afterFilter方法,详见 lib/inc/controller.php

  • controller的autoRender属性改为autoRender方法,详见 lib/inc/controller.php

  • requestHandler组件由Request对象代替

  • ByrSession组件由NF_Session对象代替, ApiSession组件由NF_ApiSession对象代替 lib/model/session.phpapp/modules/Api/lib/session.php

  • Cookie组件由Cookie对象代替,详见 lib/inc/cookie.php

  • authimg组件由NF_AuthImg对象代替,详见 lib/inc/authimg.php

  • exif组件由Exif对象代替,详见 lib/inc/exif.php

  • BYRJSON对象由NF_Json对象代替,详见 lib/inc/json.php

  • Configure:read/write 由 c 函数代替,详见 lib/inc/func.php

  • App:import 由 load 函数代替,详见 lib/inc/func.php

  • Sanitize::html 由 nforum_html 函数代替,详见 lib/inc/func.php

  • DB类的insert方法与update方法的调用方式统一,详见 lib/inc/db.php

  • 配置site.prefix改为site.base,详见 conf/nforum.php

  • 配置ajax.valid删除,详见 conf/nforum.php

  • 配置site.domain删除,详见 conf/nforum.php

  • 配置site.static不再含有http://,直接为域名地址,详见 conf/nforum.php

  • 配置 Mobile,Api模块使用独立域名由原来的use_domain=true改为domain="域名",详见 conf/nforum.php

  • redirectacl的不跳转页面值由true改为false,详见 conf/redirectacl.php

  • 路由配置有少许改动,模块的路由存在于模块目录,路由机制基于Yaf_Route_Rewrite,详见 lib/inc/route.phpconf/route.php

  • 命令行工具改为 /path/to/nforum/bin/cli 使用方式为 /path/to/nforum/bin/cli SCRIPT PARAMS

Clone this wiki locally