libs文件夹
在 index.php
文件初始化的过程中,需要提前准备好一些类和方法,这些类和方法的初始化是调用 libs
文件夹下的大多数 php 文件来实现的。libs文件夹下的文件如下:
其中,uoj-lib.php
文件是进行所有相关初始化的主文件,上级的 index.php
文件会直接调用该文件展开初始化的工作。libs
文件夹下的其他文件和 model
文件夹下的所有类都是通过 uoj-lib.php
文件来完成初始化工作的。
controller文件夹
该文件夹是用来存放控制器文件的,也就是构建HTML文件的主要文件。controller文件夹下的文件如下:
其中, judge
文件夹下的文件负责处理OJ的判题逻辑。比如,评判提交的代码是否AC/WA/TLE/MLE等。
这里以当前文件夹下的 index.php
为例来描述主页的生成。
生成主页的 index.php
先给出 index.php
的代码:
可以看到从这里开始php文件中有 HTML 的语句出现。
事实上,controller文件夹下的每个php都对应着一个网页的主要内容的生成。观察 index.php
生成的主页:
index.php
中的所有 HTML 语言的代码都是实现上图中的第2模块部分。
注意到代码:
<?php echoUOJPageHeader(UOJConfig::$data['profile']['oj-name-short']) ?>
此部分通过先前初始化的类和方法调用 /app/views/page_header.php
文件,结合 /app/views/main-nav.php
文件来生成整个网页的header部分。
注意到代码:
<?php echoUOJPageFooter() ?>
此部分通过先前初始化的类和方法调用 /app/views/page_footer.php
文件来生成整个网页的footer部分。
在这样的情况下,可以灵活调用这些php语句,来应对一些特殊网页的生成。
标签:index,文件,DeerOJ,初始化,controller,文件夹,libs,php From: https://www.cnblogs.com/hakurokawashiro/p/18223107