来源:http://trac.seagullproject.org/wiki/Howto/Upgrading/05

0.6.0RC2

  • 所有的任务lib/SGL/Tasks统一在目录中

0.6.0RC1

  • filter chain formalised in Front Controller
  • 过滤器现在以$output和$input为参数

0.5.6

  • 将所有的版块移动它们各自对应的模块中
  • 将所有默认模板移到对应的模块中
  • 重命名PageMgr?SectionMgr?
  • SGL_UrlParser_SefStrategy::resolveArrayElems重命名SGL_Url::querystringArrayToHash
  • 将模板中的{if:isAdmin}改成Output对应的方法{if:isAdmin()}
  • 版块之间现在可以传递参数,请查看trunk/modules/block/classes/blocks/Navigation.ini
  • SGL_AppController重命名为SGL_FrontController
  • SGL_HTTP_Session重命名为SGL_Session
  • SGL_HTTP::redirect(array());简化为SGL_HTTP::redirect();

0.5.5

  • 实例化一个缓存对象从 $cache = & SGL::cacheSingleton();改成$cache = & SGL_Cache::singleton();
  • 同样地,SGL::clearCache()改为SGL_Cache::clear()
  • 在Misc.php中添加SGL_Error类
  • 将lib/SGL/Other.php重命名为Misc.php
  • 添加SGL_VAR_DIR, SGL_ETC_DIR和SGL_APP_ROOT以允许更弹性化的PEAR安装

0.5.4

0.5.3

  • 重写安装程序,所有过程是基于任务的
  • 全局配置文件重命名为<host_name>.conf.php
  • 只注册了少量的必须模块:default, user, navigation
  • 版块现在是根据用户角色显示内容
  • 过去在seagull/etc目录中的SQL相关文件现在移动到default模块
  • item*表和数据和移动到publisher
  • 类别表和数据移动到publisher
  • 在任何一个管理类中都将不在需要$this→module = 'foo'这样的语句
  • 安装标志INSTALL_COMPLETE变成INSTALL_COMPLETE.php,现在访问安装程序需要密码
  • 向导只允许通过保存在seagull/var/INSTALL_COMPLETE.php中的密码访问。安装程序在第一次安装是自动调用,也可能通过调用setup.php手工启动
  • 所有的web测试被移动到各自对应的模块中
  • 删除constants.php和init.php这样最后的这些'procedural' LOC就去掉了,现在你只需AppController?.php
  • 将所有和其它类重复的内核类移动到seagull/lib/SGL/Other.php以降低载入文件的数量。目前包括SGL_Array, SGL_Date和SGL_Inflector。这样更容易找到库文件:如果你没找到某个库文件,它很可能就在Other.php文件中。
  • 增加了源文件:trunk/lib/SGL/ServiceLocator.php,它用来获取一个数据源,如果你需要使用多数据库源,那么也必须在这里注册。查看SGL_Manager的构造函数看看它是什么被初始化的

0.5.2

  • $conf现在作为任何控制类的一个成员变量,可以通过$this→conf访问
  • 所有的控制类必须调用父类的构造函数parent::SGL_Manager()
  • 数据源$dbh作为控制类的一个成员变量,可以通过$this→dbh访问
  • 不能再使用旧的语法格式来存取配置值,如$conf['foo']['bar'] = 'baz';你现在必须用$c→set('foo', array('bar' ⇒ 'baz'];一个单键的config实例,如$c = &SGL_Config::singleton();
  • Request对象现在保存在SGL_Registry ($input),集成了当前路径,配置对象
  • SGL_HTTP_REQUEST改成SGL_Request
  • 由于使用了单键模式,所以$GLOBALS_SGL?REQUEST?不再使用了
  • moved resolution of $_SERVERPHP_SELF? to SGL_URL::resolveServerVars($conf) in constants.php
  • SGL_Url现在使用分析策略能够和传统的url一样处理seagull url
  • getSignificantSegments改成PartialArray
  • SGL::getTime移动到SGL_Date::getTime
  • 所有的类名或方法名的变换现在是在SGL_Inflector实现的,被放在seagull/lib/SGL/~Request.php文件中以减少文件的输入输出熟悉的方法包括
    • caseFix
    • getManagerNameFromSimplifiedName
    • getSimplifiedNameFromManagerName
    • getTitleFromCamelCase
    • isMgrNameOmitted
    • isUrlSimplified
    • urlContainsDuplicates

0.5.1

  • 在数据库保存了可选项的版块类型

What's New

  • 重写安装程序
  • 用来快速载入配置文件的新的SGL_Config类,文件类型检查和数据格式处理是在背后处理的;目前支持ini,php数组和xml类型
  • 改进了SGL_Request对象,在它内部处理了HTTP和CLI请求类型
  • 继承PEAR的Net_Url类的新SGL_URL对象抽象和组织了各种url格式,目前支持classic querystring和Seagull's Search Engine Friendly格式
  • 一个新的灵活的SGL_View对象。它集成了你所选择的模板并支持自定义HTML和XML输出的工作流程(阅读:PDA输出的快速支持)。默认是Flexy,但是现 在可以支持Smarty和任何其它的面向对象引擎。
  • 可自定义的前期和后期处理管道线
  • 几乎完全消除全局变量
 
howto/upgrading/05.txt · 最后更改: 2010/05/30 00:21 (外部编辑)
 
Except where otherwise noted, content on this wiki is licensed under the following license:GNU Free Documentation License 1.2