跳转到目录

体系结构

本节中的每一章都描述了应用程序体系结构的一部分。它们一起提供了对应用程序的请求如何授权、数据如何保存和从数据库中检索以及响应如何返回的概述。

这些章节介绍了应用程序是如何工作的。您可能需要阅读代码来了解关于每个组件的更多信息。但读完这些章节后,你应该知道去哪里找。

OJS和OMP中的一些代码已经有十多年的历史了。在本文档中,您可能会发现部分应用程序代码不符合编码约定。本指南描述了所有新贡献应该遵循的体系结构。

模块

每个应用程序包括三个位置的模块。

橙汁│├─┬自由│├──pkp #基础库,││#权力所有的应用│││└──UI库│# # UI组件库用于编辑后端。│├─rammstein - du hast(2)——cat sound效果器整理www.catsound.org

OJS或OMP中的类通常会扩展基础库.例如,在OJS中,我们使用提交类,它扩展PKPSubmission类。

进口“lib.pkp.classes.submission.PKPSubmission”);提交扩展PKPSubmission...

应用程序和基库共享类似的文件结构。

oj . html . html . html . html . html

OMP中也使用了相同的方法。

上下文

我们用这个词上下文描述一个杂志(橙汁)或新闻(OMP)。要跨两个应用程序重用代码,您经常会看到引用上下文的代码。

美元的上下文美元的请求->getContext();

这通常指的是杂志(橙汁)或新闻(OMP)对象。它与下面的代码完全相同。

美元的杂志美元的请求->getJournal();

一个OJS实例可以运行多个日志。通过上下文来限制提交、用户和系统中其他对象的请求是很重要的。

美元提交服务::得到“提交”->会议之后([“contextId”=>美元的请求->getContext()->getId(),]);

如果不能将上下文或上下文id传递给许多方法,将返回所有上下文的对象。


通常,上下文取自请求对象。了解更多有关请求生命周期

Baidu