EZ Publish/EZ Publish内部结构
EZ Publish | EZ Publish安装与卸载 | EZ Publish的使用 | EZ Publish常见问题 | EZ Publish其他 |
本条目通过从不同层次展示eZ Publish 的概述来描述eZ Publish 的内部结构。eZ Publish 是一个复杂的,基于PHP 的,面向对象的应用程序。
库、内核、模块[ ]
这个系统由三个主要部分构成:
• 库
• 内核
• 模块
下图演示了这三部分如何彼此连接。
库
库是系统的主要构成部分。库由很多一般的,可重用的PHP 类构成。库不依赖eZ Publish 内核。但是,它们中的某些类彼此紧密联系,因此无法分割。如果您需要了解一般PHP 库,可以查看eZ Publish 根目录中的"lib"目录。
内核
eZ Publish 内核可以被描述为系统的核心。它负责处理所有底层的功能,如:内容处理,内容版本管理,访问控制,工作流,等等。内核由各种基于或使用一般库的引擎构成。
模块
eZ Publish 模块提供了一种HTTP 接口用来以WEB 的方式与系统交互。虽然某些模块提供了调用内核功能的接口,其它的模块或多或少独立于内核存在。eZ Publish 包含了一系列模块以满足典型日常事务的需求。例如:content 模块提供了一种接口可以通过浏览器管理内容。
一个模块可以被分解为以下部分:
• 视图
• fetch 函数
视图提供了实际的WEB 接口。例如:"content"模块的"search"视图提供了一种调用内建检索引擎的WEB接口。每个eZ Publish 模块至少提供一种视图。Fetch 函数可以在模板中被调用来从模块中提取数据。例如:"user"模块中的"current_user"fetch 函数可以用来访问与当前登录的用户相关的数据。某些模块提供fetch 函数,某些没有。
目录结构[ ]
eZ Publish 根目录包含多个子目录。每个子目录对应系统的一个特殊部分并且包含一系列逻辑上彼此关联的文件。下表是eZ Publish 主要目录的一览。