本节中的每一章都描述了应用程序体系结构的一部分。它们一起提供了对应用程序的请求如何授权、数据如何保存和从数据库中检索以及响应如何返回的概述。
这些章节介绍了应用程序是如何工作的。您可能需要阅读代码来了解关于每个组件的更多信息。但读完这些章节后,你应该知道去哪里找。
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传递给许多方法,将返回所有上下文的对象。
通常,上下文取自请求
对象。了解更多有关请求生命周期.