Drupal的基本概念和支柱性功能
Field-able entity
Entity可以近似理解为以下二者的混合:面向对象开发中的抽象类和数据库建模E-R图中的实体。Entity是个抽象的概念,每种Entity可以拥有各种不同类型的字段(Field)和属性(Property)。其中:Entity的字段类似于数据库的字段,但是个超集,更侧重于功能应用,且可自由增删Entity的字段,即所谓Field-ableentity,这一特性奠定了Drupal远超同类系统的灵活性的基石;而属性一般是在创建Entity时就定义好,用户不可增删,如:创建时间、作者等。另外,有个极为重要的字段Entity reference,类似于数据库设计中的主外键关系,实现了Entity之间的相互关联。
Views
Views主要是用来呈现展示Entity的,可理解为数据库视图和HTML模板的结合,它调用Drupal的数据库抽象层读取数据并使用各种格式将数据渲染出来,实现了后台数据和前台展示的解耦。这些渲染格式有日历、网格、幻灯片、瀑布流、360度全景图、时间线、Word文档、Excel表格、JSON、XML等。Views有个上下文参数,可以根据当前网址提供动态查询参数,实现了高级的动态(dynamic)内容显示。
Services
Services用于对外暴露调用接口,提供了最通用的、最易跨异构环境的HTTPRESTful接口(也提供了其他常用接口),提供了JSON/XML等多种常用数据格式。且有扩展功能模块用于调用外部接口,实现了系统内外互操作。这对于重视系统开放、资源共享的今天具有不言而喻的重大意义。
Rules
Rules用于以下场景:当发生某个(些)事件→满足某个(些)条件→执行某个(些)操作。这为设计业务流程提供了很大的便利。
以上几个概念(功能模块)都是基于Entity互相调用的,且每个功能点自身也是插件式架构,这为构建灵活复杂、可扩展的业务应用提供了无穷的想象力。同时,Drupal成熟的多语言机制、SEO、响应式主题等特性也大幅降低了构建面向国际的、现代化的Web应用的门槛和成本。
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。