danabrey / espn-college-football-stats
PHP package for reading data from ESPN's college football JSON API
Requires
- php: ^7.4|^8.0
- ext-json: *
- symfony/property-access: ^5.2
- symfony/serializer: ^5.2
Requires (Dev)
- phpunit/phpunit: ^8.5
README
Object-oriented PHP package for reading data from the ESPN JSON API.
Installation
Via Composer:
composer require danabrey/espn-college-football-stats
Note: v2.0 removes support for PHP versions below 7.4. If using PHP 7.0-7.3, use the latest version of v1.0 of this package.
Usage
Scrape a player's stats by passing their ESPN player ID (found in the URL e.g. https://www.espn.co.uk/college-football/player/stats/_/id/4241463/jerry-jeudy
)
$stats = new DanAbrey\ESPNCollegeFootballStats\ESPNCollegeFootballStats();
$playerStats = $stats->getPlayer(4241463);
The return from getPlayer()
will be a Player
object, which includes their ID and a seasons
property which is an array of PlayerSeason
objects, containing the stats for the player that season.
Team Stats
Fetching stats for teams is similar.
The return from getTeam()
will be a Team
object, which includes their ID and a seasons
property which is an array of TeamSeason
objects.
$stats = new DanAbrey\ESPNCollegeFootballStats\ESPNCollegeFootballStats(); $teamStats = $stats->getTeam(333);
By default, it will return the last four seasons' worth of data. You can change this by passing an array of seasons to $stats->setSeasons()
.
$stats = new DanAbrey\ESPNCollegeFootballStats\ESPNCollegeFootballStats(); $stats->setTeamSeasons([2015, 2016]); $teamStats = $stats->getTeam(333);
Disclaimer
This package is intended as a proof of concept experiment, I highly advise against using the ESPN API (which isn't documented) for anything other than hobby personal use.
Contributing/Contact
Please feel free to raise issues or open pull requests with suggestions on how to improve this project. For any informal questions, find me on Twitter at @danabrey.
License
- MIT license
- Copyright 2019 © Dan Abrey