“中国要复兴、富强,必须在开源软件领域起到主导作用,为了国家安全和人类发展,责无旁贷,我们须为此而奋斗”——By:云客
有的人把Drupal看做是一个CMS(内容管理系统),而有的则把它看做是CMF(内容管理框架),不管是CMS还是CMF,其实都对,只是个名字而已,不必太在意,从Drupal整体软件架构这个角度看,是分层设计的,上层系统建立在下层系统之上,依赖着下层系统:
类自动加载等基础设施算一层:这层都是web项目通用的
HTTP核心和容器可以算一层:单看这一层可以将Drupal视为开发框架
实体概念的实现算一层:在这一层上可以将Drupal视为内容管理框架,也就是CMF
再往上的表单系统、主题、权限控制等算一层:这一层非常接近应用,内容众多,站在这一层上可以将Drupal视为CMS
总结一下,Drupal系统架构可以分为如下四层:
基础层(基础的WEB组件,比如请求、响应对象、类加载器等,这层是web项目通用的,提供基础工具)
框架层(主要内容是HTTP核心和容器,你可以将Drupal当框架用)
数据层(数据库抽象层,实体)
应用层(权限控制、块系统、显示模式、视图等等)
角度不一样强调的东西不一样,说是CMS可能更多的是看到Drupal提供了直接使用的功能,说是CMF更多是看到了这种架构带来的灵活强大,完全取决于你想强调什么,Drupal确实非常强大灵活,设计优雅。
交流互动