XOOPS: XOOPS 2.6.0 Alpha 2 开发测试版发布
发表者: trabis 在 2013/1/15 3:00:00 35016次阅读引用
更新:如果您第一次阅读这篇新闻,请注意XOOPS 2.6.0的开发正在进行中GitHub,并且Alpha 2和即将发布的Alpha 3之间有许多变化。您可以在以下链接中了解其中一些变化
https://xoops.org.cn/modules/news/article.php?storyid=6538
https://xoops.org.cn/modules/news/article.php?storyid=6557
请从GitHub分支XOOPS 2.6.0代码,并帮助我们进行测试和开发!
XOOPS核心开发团队很高兴地宣布发布XOOPS 2.6.0 Alpha 2。
这是一个全新的XOOPS系列,对核心进行了多处重大变更和完善。
您需要PHP 5.3+来运行此版本!
您可以在此处查看当前的XOOPS 2.6.0路线图。
2.6系列的主要目标是更新XOOPS核心和所有类,使其支持PHP5(public、protected、static)和E_STRICT,并移除/清理旧遗留下来的代码以及所有在PHP文件中发现的HTML代码。
Alpha 2的一些主要变更
改进的API和模块化
我们从核心中提取了一些功能和行为,这些功能/行为之前是硬编码到核心中的。这将使核心更小,更容易使用。同时,模块不需要所有都依赖核心或系统模块。
过去的一个主要抱怨是扩展XOOPS核心很难。因此,我们创建了几个新的抽象类,结果是,我们解耦了核心中的一些硬编码依赖,这使得现在更容易扩展核心,并允许模块开发自己的实现。
新的类如'Xoops_Plugin_Abstract'以及已知的'XoopsPreload'为模块提供了新而有趣的选项。
通过重新设计的缓存系统提升性能
XOOPS 2.6.0 Alpha 1 已经比 2.5.5 更快。在 Alpha 2 中,我们希望使其更快。我们添加了新的缓存层,这大大减少了每次页面加载所需的查询数量。我们还重构了缓存类,添加了新的缓存引擎,并为其编写了文档,允许开发人员在模块中直接使用它。用户肯定会欣赏改进的性能和响应时间。
通过若干新类提升生产力
我们添加了几个新类来加快XOOPS模块的开发速度并使其更加容易。XoopsFormTab、Xoops_Request、Xoops_Module_Helper以及XoopsLoad::addMap()都是本版本中引入的一些新类/方法。
- 您可以使用:XoopsLoad::addMap()来实现类的懒加载,您不需要在不用它们时包含您的类。
- 您可以使用:Xoops_Request来获取$_GET参数、$_POST参数、cookies、客户端IP、URI以及其他许多项。您想检查请求是否来自移动设备?它可以支持这一点!您还可以添加许多新项目。您还可以在不修改类的情况下扩展移动列表。
$request = Xoops_Request::getInstance();
Xoops_Utils::dumpVar($request->getParam());
$result['id'] = $request->asInt('id', 13);
$result['string'] = $request->asStr('string', 'defaultValueHere');
$result['bool'] = $request->asBool('bool', false);
$result['order'] = $request->asStr('order', 'ASC', array('ASC', 'DESC'));
$result['url'] = $request->getUrl();
$result['uri'] = $request->getUri();
$result['referer'] = $request->getReferer();
$result['phpsessid_cookie'] = $request->getCookie('PHPSESSID');
$result['ip'] = $request->getClientIp();
$result['isget'] = $request->is('get');
$result['ispost'] = $request->is('post');
$result['ismobile'] = $request->is('mobile');
$result['isrobot'] = $request->is('robot');
$result['files'] = $request->getFiles('file_identifier');
- 如果您不希望在需要配置、处理程序或表单时每次都输入模块名称,可以使用:Xoops_Module_helper。它还允许您只需一行代码就能获取其他模块的配置、处理程序和表单。
/**
* 使用Xoops的详尽方式
*/
if ($xoops->isActiveModule('search')) {
$config = $xoops->getModuleConfig('keyword_min', 'search');
$xoops->loadLanguage('main', 'search');
$url = $xoops->url('modules/search/index.php');
$obj = $xoops->getModuleByDirname('search');
//etc
}
/**
* 使用助手的方式
*/
if ($helper = Xoops_Module_Helper::getHelper('search')) {
$config = $helper->getConfig('keyword_min');
$helper->loadLanguage('main');
$url = $helper->url('index.php');
$obj = $helper->getModule();
//etc
}
- XoopsFormTab?是的,我们现在已经有了,可以提供带标签的表单!
新的Codex模块作为新特性的教程
过去的不足之一是我们没有为新特性提供良好的文档。这一次,我们包含了一个新的模块Codex,它将确切地展示如何使用新特性,有良好文档的代码和示例。
新的模块/插件
自2.6.0版开始,后端功能采用“插件”接口。
新的类Xoops_Module_Plugin是使用插件简单有效的类!
- 菜单:我们已整合高级菜单模块,这将使在XOOPS中创建菜单变得更容易。管理员将完全控制菜单和菜单组。'菜单'模块提供了一种其他模块应实现的'插件'接口。现在XOOPS 2.6.0中的每个模块都可以通过挂钩到菜单模块来添加自己的菜单项
- 页面:这是我们全新的简单内容模块,将包含在XOOPS的基本安装中。
- QRCode -可以被其他模块用于创建二维码
- PDF:其他模块将能够使用它来提供PDF功能
- 通知:另一个从核心提取的扩展
- 搜索:自2.6.0版以来,搜索功能已被从核心中删除。
现在您需要安装“搜索”模块来在其他模块中获得搜索功能。“搜索”模块提供了一种模块应实现的'插件'接口。
- 系统插件:“系统”模块提供了一个'插件'接口来访问系统功能,例如同步用户帖子数量、填充等待块或访问用户菜单。
- 用户配置:过去,许多配置项散布在不同的位置。现在所有与用户相关的首选项都将在一个位置存储。
这只是一些插件/模块。还有很多,比如日志记录器、横幅、头像、通知、xCaptcha或xLanguage。在Alpha 3中,我们将添加更多。
关注代码质量与一致性
核心团队为确保XOOPS 2.6.0中源代码的最高质量付出了许多努力。
整个代码库已被重构以确保函数名和功能的一致性,因此模块开发者可以期望具有类似名称的函数具有相同的行为
XOOPS 2.6.0将不会在高级PHP编辑器中显示错误消息和红色警报,这将大大减少由于打字错误、未设置变量、返回意外值和其他常见错误而产生的错误几率。
通过高级代码审查提高生产效率
XOOPS 2.6.0现在全面支持高级PHP编辑器,例如phpStorm,它现在将能够深入了解代码,提供方法和函数定义的智能代码补全,以及快速导航和实时错误检查。这得益于在所有类/函数中实现了PHPDocs,并使代码符合PHP 5.4规范。这将提高我们开发者的生产效率,他们可以利用现代PHP编辑器的先进功能。
Twitter Bootstrap
我们在核心中对Twitter Bootstrap的实现进行了进一步改进,这是我们的主要高级HTML/CSS引擎。这将使主题开发变得更容易,并为移动设备提供“响应式网页设计”,且无需额外设置。
如果您是一名希望开发基于Bootstrap的新主题的设计师、希望减少框架大小并在手边获得自动完成的模块开发者,或者正在寻找真正可扩展且容易使用的CMS的网站管理员,请试用XOOPS 2.6.0!
核心团队现在将重点放在Alpha 3上。我们对Alpha 3有多个雄心勃勃的目标 - 请参阅我们的路线图。
请给我们提供反馈、建议 - Alpha开发是为了测试概念以查看什么可行什么不可行。我们仍可以在核心中修改事物,但为此我们需要您的帮助和反馈。
请记住: 这只是 α版本,仅供功能测试使用!!!
不要 在生产站点上安装它,也不要 使用它升级任何生产站点!!!
请在 此论坛 中发布和讨论与此版本相关的问题。
系统要求
-----------------------------------
PHP
任何版本 >= PHP 5.3+ (强烈推荐使用 PHP 5.4+)
MySQL
MySQL服务器 5.0+
网络服务器
支持所需PHP版本的任何服务器(强烈推荐使用Apache)
下载XOOPS 2.6.0 Alpha 2
-----------------------------------
您可以在此 SourceForge代码库 中获取此版包。
安装XOOPS
-----------------------------------
1. 将 htdocs/ 目录的内容复制到可以被您的服务器访问的地方。
2. 确保mainfile.php和uploads/可以被网络服务器写入。
3. 考虑到安全因素,强烈建议将目录 "/xoops_lib"(用于XOOPS库)和 "/xoops_data"(用于XOOPS数据)从Document Root移动出来,并更改文件夹名称。
4. 使文件夹 xoops_data/ 可写入;如果尚未存在,请创建并使文件夹 xoops_data/caches/, xoops_data/caches/xoops_cache/, xoops_data/caches/smarty_cache/ 和 xoops_data/caches/smarty_compile/ 可写入。
5. 使用您的网络浏览器访问安装 htdocs/ 文件的文件夹,以启动安装向导。
在XOOPS中安装保护程序
-----------------------------------
我们还强烈建议安装 PROTECTOR 扩展,它将为您的网站提供额外的安全性保护和日志记录功能。
从先前的版本升级
-----------------------------------
α版本不可用
调试信息
-----------------------------------
请注意:要查看调试信息,您需要安装并激活 "Logger" 扩展。
文件完整性检查
-----------------------------------
整个XOOPS包都附带了一个脚本,可以检查是否所有系统文件都已正确上传到服务器。要使用它,请按照以下说明操作:
1. 将位于XOOPS包根目录下的 checksum.php 和 checksum.md5 文件上传到您的XOOPS服务器文件夹(将它们放在mainfile.php旁边)。
2. 使用您的浏览器执行 checksum.php。
3. 如有必要,重新上传缺少或损坏的系统文件。
4. 从您的服务器中删除 checksum.php 和 checksum.md5。
模块
-----------------------------------
此版本仅包含“系统相关模块和扩展”。
除非模块作者明确指出,否则当前模块可能无法与XOOPS 2.6.0 Alpha正常工作。
如何贡献
-----------------------------------
错误报告: http://sourceforge.net/tracker/?group_id=41586&atid=430840
补丁和增强: http://sourceforge.net/tracker/?group_id=41586&atid=430842
功能设计: http://sourceforge.net/tracker/?group_id=41586&atid=430843
发布通告: https://lists.sourceforge.net/lists/listinfo/xoops-announcement
DuGris, Mage, Nicolas, and Trabis
XOOPS核心开发团队
2013年1月15日