首页 > 编程语言 >DeerOJ的前端框架介绍-Web文件夹和App文件夹(route.php)

DeerOJ的前端框架介绍-Web文件夹和App文件夹(route.php)

时间:2024-05-30 19:33:10浏览次数:24  
标签:Web 文件 DeerOJ route 文件夹 php 前端 路由

Web文件夹下的结构

DeerOJ的前端框架参考了部分 Lavarel 框架,做到兼顾代码的可维护性和可阅读性。具体的维护目录文件结构如下:

注意到web文件夹下的 index.php 这是整个前端程序的 main 程序 ,当服务段收到请求后, 根据 .htaccess 文件指定使用 index.php 文件来生成网页,并把网页数据返回到前端进行渲染呈现。

App文件夹下的结构

网页的生成构造需要一些基本要素,web文件夹下的app文件夹中保存着大量的基本要素。app文件夹下的文件结构如下:

文件夹下包含一些子文件夹和文件,这里选取一些重要的文件来进行解析:

route.php文件

route.php 是整个前端程序的路由, index.php 会把前端发送的路由信息传递给route.php ,文件会根据发送的路由信息,结合 model 文件夹下的 Route.php 调用对应的php程序,从而来实现生成网页(HTML文件)的功能。具体解析如下:

路由模式定义

给出如下代码

这些模式定义了 URL 参数的格式。比如,username 只能包含字母、数字和下划线,长度在 1 到 20 之间;idcontest_id 是数字,长度在 1 到 10 之间;rand_str_id 是一个长度为 20 的字符串,由数字和大小写字母组成。

路由组定义


这个路由组限定了所有路由都在指定域名下可用。UOJConfig::$data['web']['main']['host'] 获取的是配置中的主机名。

具体路由配置


这些路由使用 Route::any 方法配置,表示无论是 GET 还是 POST 请求,都会路由到对应的 PHP 文件。例如,请求根路径 / 会被路由到 index.php 处理,请求 /problems 会被路由到 problem_set.php 处理。

用户相关路由


这些路由处理用户登录、注册、忘记密码、重置密码,以及查看和修改用户信息等操作。

评测相关路由


这些路由处理与评测系统相关的操作,例如提交评测任务、同步评测客户端、下载提交记录、临时文件、题目和评测器等。

标签:Web,文件,DeerOJ,route,文件夹,php,前端,路由
From: https://www.cnblogs.com/hakurokawashiro/p/18223096

相关文章

  • DeerOJ的前端框架介绍-config.php
    config.php文件config.php文件是PHP应用程序的配置文件,具体用于DeerOnlineJudge(DeerOJ)系统的设置。它定义了应用程序的基本信息、数据库连接、Web服务器设置、安全配置、邮件配置、评测机配置以及一些开关设置。基本信息(profile)部分参数解释如下:oj-name:在线......
  • web前端三大主流框架
    Web前端三大主流框架分别是Angular、React和Vue.js。下面我将分别详细介绍这三个框架的特点、优缺点以及应用场景。1.Angular特点:完整性:Angular是一个完整的框架,提供了数据绑定、组件化、路由、依赖注入等功能。TypeScript支持:Angular使用TypeScript进行开发,提供了静态类型......
  • JavaWeb笔记整理+图解——Filter过滤器
    欢迎大家来到这一篇章——Filter过滤器监听器和过滤器都是JavaWeb服务器三大组件(Servlet、监听器、过滤器)之一,他们对于Web开发起到了不可缺少的作用。ps:想要补充Java知识的同学们可以移步我已经完结的JavaSE笔记,里面整理了大量详细的知识点和图解,可以帮你快速掌握Java编程的......
  • HTML20_web概念1
    一、web概念概述1、JavaWeb:使用Java语音开发基于互联网的项目2、软件架构:1.C/S:Client/Server客户端/服务器端 *在用户本地有一个客户端程序,在远程有一个服务器端程序 *如:QQ,迅雷... *优点: 1.用户体验好 *......
  • 三十二、openlayers官网示例解析Draw lines rendered with WebGL——使用WebGL动态修
     官网demo地址:DrawlinesrenderedwithWebGL这个示例展示了如何用webgl渲染矢量图形并动态修改点、线属性。首先先把基本的地图加载上去initMap(){this.map=newMap({layers:[newTileLayer({source:newXYZ({......
  • WEB安全:Content Security Policy (CSP) 详解
    ContentSecurityPolicy(CSP)是一种强大的网页安全机制,用于防止跨站脚本(XSS)和其他注入攻击。通过设置一系列的内容安全策略,CSP可以限制网页可以加载的资源,从而保护用户数据和网站的安全性。什么是XSS攻击?跨站脚本攻击(XSS)是一种常见的安全漏洞,攻击者通过注......
  • golang开发 gorilla websocket的使用
    很多APP都需要主动向用户推送消息,这就需要用到长连接的服务,即我们通常提到的websocket,同样也是使用socket服务,通信协议是基本类似的,在go中用的最多的、也是最简单的socket服务就是gorilla/websocket,它有21.1K的star,足以说明它的受欢迎程度,它的github地址是https://github.com/g......
  • asp.net web api 接口内调用多个远程接口优化
    提高查询速度的远程接口优化;[ApiController][Route("[controller]")]publicclassShippingCostController:ControllerBase{privatereadonlyShippingCostService_shippingCostService;publicShippingCostController(ShippingCostServiceshippingCostServ......
  • 高德地图在web端的使用
    1、高德地图开放平台申请key和安全密钥 2、安装高德地图加载器使用npm 安装:npmi@amap/amap-jsapi-loader--save使用yarn 安装:yarnadd@amap/amap-jsapi-loader--save3、直接使用<template><divid="amapcontainer"style="width:800px;height:620px"></div......
  • asp.net web api 接口控制并发研究(临时性方法)
    有一个业务场景,接口的业务逻辑非常复杂,对数据库的压力比较大,希望限制下接口的并发数量,研究了下:usingMicrosoft.AspNetCore.Mvc;usingSystem.Collections.Concurrent;usingSystem.Threading.Tasks;namespaceTestBingFa.Controllers{[ApiController][Route("[c......