Stockholm Pulic Transport
, (*1)
PHP HTTP client library for communicating with sl.seâa Stockholm public transportation website., (*2)
Table of Contents
Dependencies
This package relies on the following libraries to work:, (*3)
All above dependencies will be automatically downloaded if you are using Composer to install this package., (*4)
Installation
To install this library using Composer, simply run the following command inside your project directory:, (*5)
composer require risan/sl
Or you may also add risan\sl
package into your composer.json
file like so:, (*6)
"require": {
"risan/sl": "~1.1"
}
And don't forget to run the following composer command to install this library:, (*7)
composer install
Basic Usage
Here is some basic example to use this library:, (*8)
<?php
// Include autoloder file.
require 'vendor/autoload.php';
// Create a new instance Sl\Sl.
$sl = new Sl\Sl();
// Search for station.
// Will return Sl\Collections\StationColection.
$stations = $sl->searchStation('Central Station');
// Find for departures.
// Will return Sl\Collections\DepartureColection.
$departures = $sl->departuresFrom($stations->first());
Search for Station
To search for a station, you may use the searchStation()
method:, (*9)
$sl->searchStation(string $query);
For example, if you'd like to find all stations that match the central
word, then your code will look like this:, (*10)
$sl = new Sl\Sl();
$stations = $sl->searchStation('central');
print_r($stations->toArray());
The searchStation()
method will automatically perform a HTTP request to sl.se to search for stations that match the given $query
. This method will return an instance of Sl\Collections\StationCollection
class, which contains a collection of Sl\Station
instances., (*11)
The StationCollection
class itself is a subclass of Illuminate\Support\Collection
, so you may leverage the powerful feature of Laravel's collection., (*12)
Find Departures
You may also find departures from a specific station using departuresFrom()
method:, (*13)
$sl->departuresFrom(Sl\Station $station);
This method will perform a HTTP request to sl.se website in order to find a list of departures for a given $station
. Note that this method requires an argument that must be instance of Sl\Station
class., (*14)
For example, if you need to find all departures from Slussen
station, you can do the following:, (*15)
$sl = new Sl\Sl();
$slussen = $sl->searchStation('slussen')->first();
$departures = $sl->departuresFrom($slussen);
print_r($departures->toArray());
The $departures
will be an instance of Sl\Collections\DepartureCollection
which hold a collection of Sl\Departure
instances. The DepartureCollection
is also a subclass of Illuminate\Support\Collection
., (*16)
Bus Departures
To filter only the bus departures, call busses
method:, (*17)
$sl->departuresFrom(Sl\Station $station)->busses();
Train Departures
To filter only the train (pendeltÄg) departures, call trains()
method:, (*18)
$sl->departuresFrom(Sl\Station $station)->trains();
Metro Departures
To filter only the metro (tunnelbana) departures, call metros()
method:, (*19)
$sl->departuresFrom(Sl\Station $station)->metros();
Tram Departures
To filter only the tram (spÄrvagn) departures, call trams()
method:, (*20)
$sl->departuresFrom(Sl\Station $station)->metros();
Light Rail Departures
To filter only the light rail (lokalbana) departures, call lightRails()
method:, (*21)
$sl->departuresFrom(Sl\Station $station)->lightRails();
Ship Departures
To filter only the ship or boat departures, call ships()
method:, (*22)
$sl->departuresFrom(Sl\Station $station)->ships();