Download the PHP package yannxtrem/grsu-timetable without Composer

On this page you can find all versions of the php package yannxtrem/grsu-timetable. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package grsu-timetable

GRSU Timetable

A PHP scraper library for fetching and parsing student group class schedules from the Yanka Kupala State University of Grodno (GRSU) online timetable at raspisanie.grsu.by.

Features

Requirements

Installation

Laravel auto-discovery registers the service provider automatically.

Quick Start

Plain PHP

Laravel

The package auto-registers via extra.laravel.providers in composer.json. You can publish the config:

Resolve via dependency injection or the alias:

Usage

forDate()

Fetches the weekly schedule containing the given date. This is the primary entry point.

Parameters:

Name Type Default Description
$date DateTimeInterface\|string required Date in Y-m-d format or a DateTime object
$groupParams array [] Override for arg0-arg4 group parameters
$forceRefresh bool false Bypass cache and re-scrape
$scrapeIfMissing bool true Auto-scrape when not found in cache

Returns: ?ScheduleWeek

Throws: InvalidArgumentException if the date string is malformed.

getByGroup()

Retrieves a schedule by group name and week number, using cache-first lookup.

Returns null if not cached and no URL is provided.

scrapeUrl()

Scrapes a raw URL directly, bypassing cache read. The result is always stored in cache.

Cache Management

Configuration

Publish the config file in Laravel:

This creates config/grsu-timetable.php:

Data Models

All models implement toArray() for serialization and fromArray() for deserialization.

ScheduleWeek

Property Type Description
$weekNumber int Week number on the timetable
$groupName string Student group name
$days ScheduleDay[] Array of days in the week

ScheduleDay

Property Type Description
$weekday int Day of week (0 = Monday, 6 = Sunday)
$monthday int Day of month
$classes ScheduleClass[] Classes scheduled for this day

ScheduleClass

Property Type Description
$subject Subject The discipline being taught
$time ScheduleTime Start and end times
$subgroup string Subgroup name ("Tous" if none)
$door ?string Classroom/auditorium (null if not specified)

ScheduleTime

Property Type Description
$start DateTimeImmutable Class start time
$end DateTimeImmutable Class end time

Subject

Property Type Description
$name string Discipline name
$lecturer Lecturer Assigned lecturer

Lecturer

Property Type Description
$name string Lecturer name

Array Output Format

The toArray() method produces a structure matching the existing Python/Flask API:

Cache

The package ships with two cache implementations:

Store Description
ArrayCacheStore In-memory cache with TTL (default)
LaravelCacheStore Wraps Laravel's Cache::store()

In Laravel, the service provider automatically uses LaravelCacheStore when cache.enabled is true in the config.

Testing

Tests use Guzzle MockHandler against a local HTML fixture -- no network requests are made.

License

MIT


All versions of grsu-timetable with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
guzzlehttp/guzzle Version ^7.0
symfony/css-selector Version ^6.0|^7.0
symfony/dom-crawler Version ^6.0|^7.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package yannxtrem/grsu-timetable contains the following files

Loading the files please wait ...