PHPackages                             fredbradley/php-steer-api - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. fredbradley/php-steer-api

ActivePackage[API Development](/categories/api)

fredbradley/php-steer-api
=========================

A PHP Wrapper for the STEER Tracking API

v1.0.5(2y ago)1813MITPHPPHP ^8.2

Since Jul 18Pushed 2y ago1 watchersCompare

[ Source](https://github.com/fredbradley/php-steer-api)[ Packagist](https://packagist.org/packages/fredbradley/php-steer-api)[ Docs](https://github.com/fredbradley/php-steer-api)[ RSS](/packages/fredbradley-php-steer-api/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (8)Versions (22)Used By (0)

PHP Wrapper for STEER Tracking Assessments API
==============================================

[](#php-wrapper-for-steer-tracking-assessments-api)

with Laravel Discovery Support
------------------------------

[](#with-laravel-discovery-support)

[![Latest Version on Packagist](https://camo.githubusercontent.com/eac7f18200bb4110c820ec116c2ee4df1867b5007cdf5a3bda101c724b2bdb94/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f66726564627261646c65792f7068702d73746565722d6170692e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/fredbradley/php-steer-api)[![Total Downloads](https://camo.githubusercontent.com/1af9e6b2bef0d0460f811c17345a0b380e6399b2006a79eaabd552987d9c7714/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f66726564627261646c65792f7068702d73746565722d6170692e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/fredbradley/php-steer-api)[![GitHub Actions](https://github.com/fredbradley/php-steer-api/actions/workflows/main.yml/badge.svg)](https://github.com/fredbradley/php-steer-api/actions/workflows/main.yml/badge.svg)

STEER Education are in the process of developing an API to access the assessment results for pupils. I am helping them with this as we have already many of the building blocks in place with Cranleigh School's Pastoral Module.

This package is a PHP wrapper to the STEER API. Any suggestions or improvements are welcome both in terms of data output and the fluency of interacting with the code.

Installation &amp; Requirements
-------------------------------

[](#installation--requirements)

This package requires PHP 8.2 and above.

You can install the package via composer:

```
composer require fredbradley/php-steer-api
```

Usage
-----

[](#usage)

### If within a Laravel Application with Laravel Discovery turned on

[](#if-within-a-laravel-application-with-laravel-discovery-turned-on)

You will need to add the following to your `.env` file:

```
STEER_API_KEY=
STEER_SUBSCRIPTION_KEY=
STEER_BASE_URL=
```

The config file is publishable, but you shouldn't need to change anything.

#### Dependency Injection

[](#dependency-injection)

The package will automatically register the `SteerConnector` class as a singleton. You can then use the `SteerConnector` class as a dependency in your classes.

#### Facade

[](#facade)

There is a facade that goes with the package if that's how you choose to work. Example:

```
use FredBradley\PhpSteerApi\Facades\Steer;
use FredBradley\PhpSteerApi\QueryBuilder;

// Set the Query Builder
$query = (new QueryBuilder())->setYear(2022);
// Get the Data
$data = Steer::getAssessmentData($query)->object();
```

### If using as a standalone package in any PHP application

[](#if-using-as-a-standalone-package-in-any-php-application)

```
$service = new \FredBradley\PhpSteerApi\SteerConnector($apiKey, $subscriptionKey, $baseUrl);
$service
  ->getAssessmentData(
    filters: [
      "house" => "Hufflepuff",
      "year" => 10
    ],
    year: 2019
  )
  ->object();
```

This will return an object with a `data` property which is an array of objects. Each object is the STEER tracking assessment result.

The second argument in `getAssessmentData` (`year`) is optional and will default to the current academic year if not set. The STEER API carries data for 5 yars.

Filters available are:

- `house` - filter by house name
- `campus` - filter by campus name
- `year` - filter by year group
- `mis_id` - filter by pupil's MIS ID
- `gender` - filter by gender (desired value is `m` or `f`)
- `round` - filter by round (as in the round of assessment)

With no filters set, the API will return all results for the current academic year.

See the [example output here](EXAMPLE.md).

This package uses the Saloon API package to make the HTTP requests. You can read more about that package [here](https://docs.saloon.dev/).

### Caching

[](#caching)

By default the package will cache unique results (based on query) for 10 minutes. It uses the Local Filesystem cache driver from Saloon. You can read more about that [here](https://docs.saloon.dev/digging-deeper/caching-responses).

### Testing

[](#testing)

```
composer pest
```

### Changelog

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

### Security

[](#security)

If you discover any security related issues, please email  instead of using the issue tracker.

Credits
-------

[](#credits)

- [Fred Bradley](https://github.com/fredbradley)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~11 days

Recently: every ~0 days

Total

21

Last Release

822d ago

Major Versions

v0.2.2 → v1.0.02024-02-16

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1639226?v=4)[Fred Bradley](/maintainers/fredbradley)[@fredbradley](https://github.com/fredbradley)

---

Top Contributors

[![fredbradley](https://avatars.githubusercontent.com/u/1639226?v=4)](https://github.com/fredbradley "fredbradley (34 commits)")

---

Tags

phpapitrackingwrapperfredbradleyas-trackingsteer

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/fredbradley-php-steer-api/health.svg)

```
[![Health](https://phpackages.com/badges/fredbradley-php-steer-api/health.svg)](https://phpackages.com/packages/fredbradley-php-steer-api)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
