# E-Learning **Repository Path**: qza36/e-learning ## Basic Information - **Project Name**: E-Learning - **Description**: php课程设计作业 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-17 - **Last Updated**: 2026-06-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # E-Learning 在线学习系统 一个「学习 + 电商」融合的在线学习平台课程设计项目。基于 **PHP 8 + MySQL + 原生 MVC** 实现, 涵盖课程视频学习、弹幕互动、评论收藏、学习笔记、课程购买,以及创作者上架商品、用户购买商品的完整电商闭环。 ## 快速启动(推荐) 环境要求:macOS/Linux + **PHP 8.x(含 pdo_mysql)** + **MySQL 8/9**(Homebrew 安装)。 ```bash ./run.sh ``` 脚本会自动:启动 MySQL → 建库并导入 `sql/elearning.sql`(仅首次)→ 校验连通性 → 在 `http://localhost:8000` 启动内置 Web 服务器。 浏览器打开 **http://localhost:8000** 即可。 - 重置数据库(清空所有数据重新导入):`./run.sh reset` ## 测试账号(密码均为 `password`) | 角色 | 用户名 | |------|--------| | 管理员 | `admin` | | 创作者 | `creator1` / `creator2` | | 学员 | `student1` / `student2` / `student3` | ## 手动部署 ```bash # 1. 启动 MySQL mysql.server start # 2. 导入数据库(务必带 --default-character-set=utf8mb4,否则中文乱码) mysql --default-character-set=utf8mb4 -u root < sql/elearning.sql # 3. 启动(任选其一) php -S localhost:8000 -t . # PHP 内置服务器 # 或放入 Apache/XAMPP htdocs 目录,访问 http://localhost/phpCLassProject ``` > `config/app.php` 中的 `APP_URL` 会**自动**根据运行环境推导(内置服务器或 Apache 子目录均可),无需手动修改。 > 数据库账号默认 `root` / 空密码,如不同请修改 `config/database.php`。 ## 功能一览 - **游客/用户**:注册登录、个人信息管理、浏览/搜索课程、观看视频、发送弹幕、评论、收藏、学习笔记、购物车、购买课程 - **知识商城**:浏览已上架商品、一键购买(含库存校验)、查看我的商品订单 - **创作者**:创建/编辑课程与视频、上架/编辑/下架商品、课程与商品销售数据统计 - **管理员**:用户与权限管理、课程审核、评论管理、分类管理、商品审核、课程订单与商品订单管理 ## 目录结构 ``` index.php 入口与路由分发 config/ 数据库与应用配置(APP_URL 自动适配) core/ 框架核心:Database/Model/Controller/Router/Auth controllers/ 控制器层(Home/Auth/Course/User/Cart/Creator/Product/Admin) models/ 模型层(User/Course/Video/Comment/Danmaku/Order/Cart/ Favorite/Note/Product/ProductOrder/Category) views/ 视图层(home/auth/course/user/creator/product/admin/layouts) public/ 静态资源(css/js/uploads) sql/elearning.sql 建表 + 种子数据(已内置 SET NAMES utf8mb4) run.sh 一键启动脚本 ``` 详细设计见 [`课程设计报告.md`](课程设计报告.md)。