创新实训(五)——libs文件夹下的配置管理

libs文件夹

index.php 文件初始化的过程中,需要提前准备好一些类和方法,这些类和方法的初始化是调用 libs 文件夹下的大多数 php 文件来实现的。libs文件夹下的文件如下:

其中,doj-lib.php 文件是进行所有相关初始化的主文件,上级的 index.php 文件会直接调用该文件展开初始化的工作。libs 文件夹下的其他文件和 model 文件夹下的所有类都是通过 doj-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 echoDOJPageHeader(DOJConfig::$data['profile']['oj-name-short']) ?>

此部分通过先前初始化的类和方法调用 /app/views/page_header.php 文件,结合 /app/views/main-nav.php 文件来生成整个网页的header部分。

注意到代码:

<?php echoDOJPageFooter() ?>

此部分通过先前初始化的类和方法调用 /app/views/page_footer.php 文件来生成整个网页的footer部分。

在这样的情况下,可以灵活调用这些php语句,来应对一些特殊网页的生成。

posted @ 2024-05-30 19:36  山城甘草  阅读(41)  评论(0)    收藏  举报