WoCenter Advanced是基于WoCenter开发的一款优秀的高度可扩展的高级项目模板。
WoCenter Advanced充分利用和发挥了WoCenter的所有特性,基于WoCenter的扩展机制,系统默认提供了一套集成用户管理、 安全管理、扩展中心、系统管理、运营管理等多个扩展模块的后台管理系统以及一套简便的前台展示模板。
你可以根据需要自由开发私有或公有的扩展,也可以使用其他开发者的扩展来定制你的业务系统,避免重复造轮子,开箱即用。
WoCenter Advanced遵循BSD-3-Clause协议,意味着你可以免费的部署你的线上项目。
WoCenter Advanced 作者微信:234251232
WoCenter Advanced QQ群:573142468
WoCenter Advanced Github地址: https://github.com/Wonail/wocenter_advanced.git
权威指南: WoCenter 权威指南
安装方法:
-
Service服务层
Service服务层的目的在于进一步解耦Model层,让Model层只专注于CRUD、规则验证、数据库映射等简单操作, 降低Model和业务逻辑的耦合性,方便日后业务发展可灵活定制Model底层, 而其余复杂的业务逻辑则交由Service层为系统提供实际的功能使用接口。
-
Dispatch调度层
传统的MVC设计模式中,
C
(Controller)负责响应路由请求并从所需的M
(Model)中获取数据接着由V
(View)渲染所需的视图文件, 每个层级各司其职,这是一种很好的设计模式,能够使各层级职能分配清楚,极大的解耦各层级的关联性而又不损害其所需的相关性。然而,在WoCenter实际开发的过程中,在应对真正多主题或高个性化定制的情况下,传统设计模式并不能很好地满足需求, 故在传统设计模式中的
C
和V
之间新增一个调度层(Dispatch,简称D
),用以进一步解藕细分C
, 同时为二次开发提供更高的友好性和适用性。有时面对
C
复杂的操作设计,会导致C
方法量或单个操作代码过多,这与瘦控制器胖模型的设计背道而驰, 而D
则可以有效地把复杂的设计解藕分离出来,针对单个操作提供专属的D
,实现一对一的关系,方便管理,同时起到瘦控制器的作用, 并可使控制器与主题相关性不强,满足系统较高的可定制化需求。 -
扩展机制
系统默认的主题、模块、功能等均以扩展形式存在,因此开发者可以自由下载所需主题、模块或功能来构建自己的专属系统, 而这一切的操作如同搭积木一样简单便捷,开发者仅需简单进行安装、卸载和升级等操作即可完成。
-
多模板系统
基于WoCenter扩展机制,系统默认使用的
adminlte
主题是由wonail/yii2-theme-adminlte
扩展提供。 系统内置了多个主题模板路径映射,这个特性的存在,使得开发者可以方便地对视图文件(View)、 布局文件(Layout)、资源文件(AssetBundle、Js、Css、Img)等进行重写与个性化,而这一切的修改都不会影响WoCenter后期的升级。 -
高度模块化
基于WoCenter扩展机制,WoCenter在功能粒度上划分出多个模块,每个模块职能分配清楚,以扩展的形式发布,利于管理和二次开发。 同时系统提供了一套专门用于管理符合WoCenter模块标准的模块管理系统(由
wonail/yii2-module-extension
扩展提供), 可以方便进行安装、卸载和升级等操作。保持着对二次开发便捷性、易用性和低干扰性的重视,模块可以实现零配置即可使用,包括模块所属菜单、权限、 URL路由规则、bootstrap等都已实现自动化。
-
功能碎片化
基于WoCenter扩展机制,为系统应用或模块增加某些功能都异常简单, 并且系统提供了一套专门用于管理符合WoCenter功能标准的功能管理系统(由
wonail/yii2-module-extension
扩展提供), 可以方便进行安装、卸载和升级等操作。保持着对二次开发便捷性、易用性和低干扰性的重视,功能可以实现零配置即可使用,包括功能所属菜单、权限、 URL路由规则等都已实现自动化。
-
重写机制
得益于Yii2优秀的设计,使得开发者可以非常简单地对系统几乎所有核心文件进行重构或个性化修改(通过classMap类映射, 该方法主要是通过配置文件方式进行覆盖重写),而对于控制器操作、视图文件、资源文件等的修改,都可以更简单地通过复制、粘贴、修改来完成 (无需任何配置),这一切的基础都源于WoCenter的调度层和扩展机制特性。
-
低干扰
系统默认的主题、模块、功能等均以扩展形式存在,不伦是WoCenter核心还是WoCenter Advanced项目的升级, 几乎不对现有项目有任何影响。
-
完善的文档注释和IDE代码提示
系统核心功能做了大部分的文档注释以及对IDE的友好支持,很大程度上利于开发者的二次开发。