Phpwind发布windframework开源开发框架

  今日,知名互联网产品与服务提供商phpwind正式推出通用的php开源技术框架‘windframework’。基于phpwind多年专注php开发积累沉淀下来的技术和解决方案,windframework将为未来推出的phpwind下一代社区产品提供统一的应用开发架构服务。而作为一款通用型的框架,windframework也将为开发者提供更为简单、安全、扩展性良好的应用开发支持。

  phpwind旗下社区建站通用型程序phpwind,作为一款广受站长欢迎的产品,在国内拥有广泛的社区网站用户,而通过此次底层开发框架的统一和重构,将能为广大开发者提供轻盈,简洁的开发框架,同时提供给基于此框架开发产品以庞大的用户基础。

  什么是windframework?

  windframework是一个轻量级的php开源框架,以组件工厂为核心,提供了像MVC、数据持久化、视图模板引擎等应用技术。此外windframework采取了一种组件化的开发模式。虽然目前的组件库还不算丰富健壮,但是基于这种开发模式,使组件的扩展变得非常的容易。windframework拥有一个强健的内核,它实现了基于配置的Ioc控制反转技术。开发者只需要简单的配置,就可以实现类的依赖注入,实现了类与类的完全松耦合。

  Windframework由phpwind社区开发团队自主研发,2010年10月份开始投入,目前为止已经内部发行了四个版 本。它源自phpwind社区产品的一次名为‘鹊桥’的重构计划。意在重新定义phpwind的架构分层以及开发模式,使其看起来更清晰,更易于扩展和二次开发。

  据项目负责人吴琼介绍,项目最开始对windframework 的定位和设想是希望提炼phpwind社区产品的底层实现并对其进行统一化部署;也是对phpwind产品中多年积累沉淀下来的技术和解决方案进行整理重构,使其成为通用的标准化的工具/组件库。后来windframework逐渐的发展成为了一个通用型的php框架,一个独立的框架产品。它的定位和职责也越来越清晰:支撑了整个phpwind社区应用的运行,为它定义了统一规范的MVC流程,并提供强大的路由和视图渲染能力,灵活的应用部署方案等。windframework服务于phpwind社区产品,但也独立于phpwind社区产品。

  windfrmaework的特点

  作为一个通用的php框架,windframework在公司内部已经发行至第四版并推广使用,此次正式对外发布的版本,已经有了多项的优化和BUG修复。有很多新的项目基于windframework框架进行开发,包括即将推出的phpwind最新社区版本和社区电子商务平台,都基于windframework框架基础。在这个框架基础上,开发者进行二次开发和模板制作,将会更便捷和快速,而通过应用中心phpwind将为开发者提供更丰富更实用的应用、模板库。

  Model-View-Controller(MVC)

  wind框架提供了基础的web mvc支持(参看组件包wind/web/)。wind mvc 基于框架核心技术,提供了一种清晰的、松耦合的实现。它采用前端控制器模式,并支持强大的拦截过滤器链策略。使完全松耦合的方式集中化控制逻辑变的简单。除此以外,wind mvc 还提供了像‘模板驱动’、‘请求重定向’等特性。

  目录路径别名与import类加载

  wind框架可以将目录路径注册到系统中,并为其定义使用别名。wind框架通过import方法加载类(只支持类加载),并提供autoload支持。通过路径别名与import机制简化了路径使用、工程部署,即用即加载的模式大大提高了类加载的效率。

  组件工厂机制

  组件工厂机制是wind框架核心的基础。它基于Ioc控制反转和依赖注入的技术实现,为整个框架提供了松耦合的组件管理机制,从程序逻辑中分离出类的依赖关系和配置。组件工厂机制提供了丰富的特性支持:组件(创建、注销、获取)管理、多生命周期、配置解析管理、代理模式、lazy-init延迟加载等。通过组件工厂机制统一并简化了组件的开发与使用。

  视图管理,多模板引擎支持

  在wind框架强大的组件机制的基础上,视图管理提供了多模板引擎的支持。wind viewer组件包提供了'WindNormalViewerResolver'、'WindViewerResolver'两个视图渲染引擎。同时也支持第三方渲染引擎例如‘smarty’等。框架默认采用'WindViewerResolver'进行视图渲染,该视图渲染器支持模板编译和标签扩展。

  主题与皮肤(themes)

  wind框架中支持简单的主题与皮肤管理,通过为视图设置主题,应用可以轻松的实现多风格的支持与切换。

  模板视图的布局管理(layout)

  布局管理是通过为应用定义布局模板文件,来实现可以模板的统一布局。 wind框架支持为整个应用定义一种布局模板,也支持为每个操作定义不同的布局模板。默认情况系统不开启布局管理的,可以通过设置布局文件开启布局管理。

  模板标签支持

  wind框架默认采用了‘WindViewerResolver’视图渲染器,这个视图渲染器支持模板编译以及基于配置的自定义标签扩展。开发者可以根据需求,自定义模板标签。wind框架默认实现了几种常用标签:action、echo、lang、template、token等。

  数据输出安全过滤及数据格式化支持

  基于模板标签体系,wind框架实现了强大的数据输出支持:安全输出过滤、数据格式化等。基于这个特性,开发者可以方便的在页面以想要的格式进行变量输出,而无需担心安全问题以及数据格式化问题。

  Cache

  wind框架默认提供了cache组件和cache支持。cache组件采用了面向接口的组件设计思路,为cache使用者提供标准的cache接口定义,以及多种cache方案的实现。

  DB

  简单高效的数据持久层方案‘WindConnection’,这是一个基于PDO的数据持久化解决方案。它支持‘WindConnection’简单链接、‘WindConnectionManager’分布式链接管理两种链接模式。两种方案可以实现无缝的切换。

  请求的预处理与后处理(filter chain)

  wind框架采用了拦截过滤器模式,对请求的预处理和后处理进行了拦截和策略部署支持。开发者可以基于配置很方便的使用该特性在请求的预处理或后处理位置添加、删除、修改控制逻辑代码。

  路由协议链,多路由协议支持

  路由是wind mvc模式中的重要组件,wind框架提供了路由支持,它采用过滤链的模式来实现,一个路由器可以挂载多种路由协议。程序会根据挂载的顺序,依次去加载路由协议,直到找到可以处理当前请求的路由协议。

  Form表单对象&验证

  web mvc 默认提供了对表单处理的支持。开发者可以为一次请求创建一个表单对象,系统将会在处理具体的操作前初始化这个表单对象以及完成表单验证等工作。开发者无需在代码逻辑里面操作大量的表单数据的赋值验证,简化了开发。

  ErrorHandler自定义错误处理句柄

  自定义错误句柄是web mvc提供的又一个特性支持。wind框架默认为mvc提供了错误处理句柄‘WindErrorHandler’,默认的错误页面指向‘web/view’。开发者可以通过应用配置来指向自定义的错误处理句柄,可以为每一个module定义‘ErrorHandler’,也可以为每一个action自定义‘ErrorHandler’。wind框架在自定义配置上提供了强大且灵活的支持。

  异常体系与Logger日志

  两种基本的异常类型:‘WindFinalException’、‘WindException’。前者是终极异常,抛出该类异常表示不希望异常被系统处理而直接抛出;后者是通用异常类型,大部分自定义异常都需要继承该异常类型,该异常会被系统的错误体系处理。Logger组件,通过调用Logger组件开发者可以很方便的输出log信息,支持分类、分组输出。目前只支持本地化的文件log记录。

  多种开发模式支持WIND_DEBUG

  WIND_DEBUG支持多种模式:window、log、window&log。开发者可以通过设置‘WIND_DEBUG’这个常量的值定义wind的工作模式。

  国际化(i18n)

  简单的国际化支持:变量、语言模板等。

  安全(security)

  输入输出安全过滤,通过内置在相应的组件管理中,透明化了对数据安全的处理。wind框架还提供了security安全工具包例如:加密、解密、token等。

时间: 2024-11-07 12:13:44

Phpwind发布windframework开源开发框架的相关文章

[译] 当发布安卓开源库时我希望知道的东西

本文讲的是[译] 当发布安卓开源库时我希望知道的东西, 原文地址:Things I wish I knew when I started building Android SDK/Libraries 原文作者:本文已获作者 Nishant Srivastava 授权 译文出自:掘金翻译计划 译者:jifaxu 校对者:BoilerYao, gaozp 当发布安卓开源库时我希望知道的东西 一切要从安卓开发者开发自己的"超酷炫应用"开始说起,他们中的大多数会在这个过程中遇到一系列问题,而他

PHPWind发布新产品架构图

PHPWind发布新产品架构图 据介绍,PHPWind自2008年推行单核心多模式的产品架构,目前已较为完善.从该产品架构图可以看出,新产品较以往产品具有更清晰的功能与 模块划分. 新产品的多种功能将通过产品模块形式来实现,整个社区体系的架构分为五个大层面: 自下而上分别为数据层.通讯层.基础层.应用层.展现层.从数据层开始,通过API规范和通用模板,到展现层的门户化.个人中心等形成了一 个比较完整的树状结构. 据PHPWind技术人员介绍,在新的产品架构下,各种应用和模式间的融合更加紧密,而不

思科发布免费开源软件云管理平台OpenStack

为进一步显示对OpenStack项目的承诺,思科推出了这个开源软件http://www.aliyun.com/zixun/aggregation/14224.html">云管理平台的一个免费发布版.这个软件还包括虚拟网络和高可用性功能等其它服务. 思科已经成为OpenStack日益增多的已经发布开源软件代码的机构会员之一.这些会员与Red Hat.SUSE.Canonical和Ubuntu等Linux发布公司以及专营Rackspace和OpenStack的公司Piston Cloud Co

Facebook发布基站开源平台OpenCellular

7月7日消息,据国外媒体报道,Facebook周三发布OpenCellular开源新平台,旨在通过向偏远地区提供连接移动蜂窝网所必须的设备和开源软件,以帮助居住于这些社区的人们实现连接互联网.此举是Facebook在推进全球互联网连接战略的又一新尝试. Facebook和扎克伯格当前的优先战略是帮助全球没有互联网覆盖的40亿人及没有手机服务覆盖的10%人口实现联网.为此,公司推出了各种计划,包括热气球和无人机等,以辅助实现对这些偏远地区的互联网接入.然而不同于此前其它计划,OpenCellula

ActiveWave创始人之子发布RFID开源平台

RFID行业企业家Touraj Ghaffari的儿子日前发布了一个开源平台,将其父亲几十年的工作成果共享给其他RFID技术开发者免费使用.TigeRFID可在GitHub上获取,包含有源RFID软件应用程序编程接口(API),以及用于开发标签编程站.ActiveWave标准固定或移动RFID读取器的必要数据. Ghaffari于2001年在佛罗里达州创建了ActiveWave,专注提供有源RFID解决方案,方案使用433 MHz将数据传输到标签内,而标签则通过UHF传输到读卡器中.该技术目前用

D1net阅闻:Facebook发布基站开源平台OpenCellular

Facebook发布基站开源平台OpenCellular OpenCellular的远景是一座不受天气影响.能够在强风和高温下持续使用的基站,旨在向偏远地区提供连接移动蜂窝网所必须的设备和开源软件,以帮助居住于这些社区的人们实现连接互联网.这是 Facebook在推进全球互联网连接战略的又一新尝试,想帮助全球没有互联网覆盖的40亿人及没有手机服务覆盖的10%人口实现联网. 华为起诉美国运营商T-Mobile,其4G专利侵权 据华为表示,曾于2014年6月6日开始,先后两次向T-Mobile发出通

谷歌发布 OSS-Fuzz 开源模糊测试服务

谷歌发布 OSS-Fuzz 开源模糊测试服务:专利还是开源好? 仅在微软宣布提供Springfield编码模糊测试服务两个月后,谷歌也发布了他们自己的面向对象存储模糊测试,OSS-Fuzz的测试版.这两个项目的目的都是为了帮助开发者锁定导致入侵的程序错误,但是项目本身就像这两家公司的商业模式一样,大相径庭.一个需要付费另一个则是免费,一个拥有专利保护另一个则是开源的. 谷歌的OSS-Fuzz能够针对开源软件进行持续的模糊测试,其测试开发团队昨天的博客中写到"OSS-Fuzz的目的是利用更新的模糊

NutzWk 4.0.1新启航,Java 企业级开源开发框架

NutzWk 基于Nutz的开源企业级开发框架 前言 本项目源于2010年,那时老东家还在使用Jsp和Struts1,需要手动创建并释放连接池.需要配置XML请求路径和类映射关系.要支持刚刚兴起的JSON非常痛苦等等的原因,开始选择适用"快速开发.功能丰富.扩展性强.性能优越"等技术要求的框架产品,讨厌Spring的繁杂配置.Hibernate及Mybatis的繁琐,讨厌一切让开发变得低效和繁杂的技术,这和Nutz的设计理念不谋而合. 使用本框架开发商用项目始于2012年,先是基于Nu

NutzWk 3.2.5 最终版,Java 企业级开源开发框架

NutzWk 3.2.5 发布了,NutzWk 是基于国产 Java 开源框架 Nutz 开发的一套集成 Shiro 权限控制.Ehcache缓存.Beetl模板引擎.Quartz.Redis.二维码.pdf等技术的开源企业级开发框架. NutzWk 3.2.5 主要更新内容: 解决虚拟目录部署导致自定义路由失效问题: 解决虚拟目录上传文件路径问题: 解决上传文件权限验证问题(JS): 解决微信多媒体文件相关问题: 添加数据字典及排序功能: 添加微信前台栏目和文章显示可关联微信菜单: 添加测试基