kamaro / 时间表
生成每周时间表的包
dev-master / 1.0.x-dev
2019-07-11 16:36 UTC
Requires
- php: ~7.1
Requires (Dev)
- fzaninotto/faker: ^1.8
- phpunit/phpunit: >=7.0
- squizlabs/php_codesniffer: ^3.0
This package is auto-updated.
Last update: 2024-09-12 04:13:53 UTC
README
此包通过提供课程、每门课程的课时和教师来帮助您生成学校时间表。它可以用于其他目的,但最初它是为学校构建的。
结构
build/
docs/
config/
src/
tests/
vendor/
需求
>= php 7.2
安装
通过Composer
$ composer require kamaro/timetable
特性
- 课程
- 课程名称
- 教师姓名
- 每天最大课时数
- 每周最大课时数。
- 计时器
- 开始日期
- 结束日期
- 开始时间
- 结束时间
- 时间表
- 生成空时间表
- 生成时间表
- 设置休息时间(待定)
- 设置每周休息日(待定);
用法
use Kamaro\TimeTable\Course; use Kamaro\TimeTable\TimeTable; use Kamaro\TimeTable\TimeFrame; // Generate fake courses $courses = []; for ($i = 0; $i < 10; ++$i) { $course = new Course(); $course->setCourseName($fake->name); $course->setTeacherName($fake->name); $course->setMaxHoursPerDay(2); $course->setMaxHoursPerWeek(10); $courses[] = $course; } // Generate TimeTable $timeTable = (new TimeTable( new TimeFrame() // TimeFrame ) )->getTimeTable($courses); echo json_encode($timeTable);
将输出以下时间表
{ "monday": { "8": { "hour": "8:00", "course": "Dr. Keven Spencer MD", "teacher": "Rita Reynolds" }, "9": { "hour": "9:00", "course": "Dr. Keven Spencer MD", "teacher": "Rita Reynolds" }, "10": { "hour": "10:00", "course": "Prof. Talon Wuckert DVM", "teacher": "Melba Hammes" }, "11": { "hour": "11:00", "course": "Prof. Talon Wuckert DVM", "teacher": "Melba Hammes" }, "12": { "hour": "12:00", "course": "Krystel Veum", "teacher": "Lily Smitham" }, "13": { "hour": "13:00", "course": "Krystel Veum", "teacher": "Lily Smitham" }, "14": { "hour": "14:00", "course": "Sarina Flatley II", "teacher": "Prof. Pasquale Fritsch" }, "15": { "hour": "15:00", "course": "Sarina Flatley II", "teacher": "Prof. Pasquale Fritsch" }, "16": { "hour": "16:00", "course": "Sandrine Wiegand", "teacher": "Henriette Kertzmann" }, "17": { "hour": "17:00", "course": "Sandrine Wiegand", "teacher": "Henriette Kertzmann" }, "18": { "hour": "18:00", "course": "Jimmie Fritsch", "teacher": "Mrs. Leonora Hill Jr." } }, "tuesday": { "8": { "hour": "8:00", "course": "Dr. Keven Spencer MD", "teacher": "Rita Reynolds" }, "9": { "hour": "9:00", "course": "Dr. Keven Spencer MD", "teacher": "Rita Reynolds" }, "10": { "hour": "10:00", "course": "Prof. Talon Wuckert DVM", "teacher": "Melba Hammes" }, "11": { "hour": "11:00", "course": "Prof. Talon Wuckert DVM", "teacher": "Melba Hammes" }, "12": { "hour": "12:00", "course": "Krystel Veum", "teacher": "Lily Smitham" }, "13": { "hour": "13:00", "course": "Krystel Veum", "teacher": "Lily Smitham" }, "14": { "hour": "14:00", "course": "Sarina Flatley II", "teacher": "Prof. Pasquale Fritsch" }, "15": { "hour": "15:00", "course": "Sarina Flatley II", "teacher": "Prof. Pasquale Fritsch" }, "16": { "hour": "16:00", "course": "Sandrine Wiegand", "teacher": "Henriette Kertzmann" }, "17": { "hour": "17:00", "course": "Sandrine Wiegand", "teacher": "Henriette Kertzmann" }, "18": { "hour": "18:00", "course": "Jimmie Fritsch", "teacher": "Mrs. Leonora Hill Jr." } }
变更日志
有关最近更改的更多信息,请参阅变更日志。
测试
$ composer test
贡献
安全
如果您发现任何安全问题,请通过电子邮件kamaroly@gmail.com联系,而不是使用问题跟踪器。
致谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅许可证文件。