andylolz/everypolitician

PHP package for easy access to EveryPolitician data

0.0.2 2016-12-14 14:47 UTC

This package is not auto-updated.

Last update: 2024-04-27 17:37:04 UTC


README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

A PHP library for easy access to EveryPolitician data. This is essentially a port of everypolitician-python, which is itself a port of everypolitican-ruby.

Install

Via Composer

$ composer require andylolz/everypolitician

Usage

Creating an instance of the EveryPolitican class allows you to access information on countries, their legislatures and legislative periods. Each country and legislature has a slug that can be used to reference them via the country and legislature methods:

use \EveryPolitician\EveryPolitician\EveryPolitician;
$ep = new EveryPolitician();

$australia = $ep->country('Australia');
$senate = $australia->legislature('Senate');
echo (string) $senate; // <Legislature: Senate in Australia>

$uk = $ep->country('UK');
$houseOfCommons = $uk->legislature('Commons');

$americanSamoa = $ep->country('American-Samoa');
$houseOfRepresentatives = $americanSamoa->legislature('House');

foreach ($ep->countries() as $country) {
    echo $country->name.' has '.count($country->legislatures()).'legislatures';
}

By default this will get the EveryPolitician data and returns the most recent data. This data is found from the index file, called countries.json, which links to specific versions of other data files.

If you want want to point to a different countries.json file, you can override the default URL using ::fromUrl:

$ep = EveryPolitician::fromUrl('https://cdn.rawgit.com/everypolitician/everypolitician-data/080cb46/countries.json');

The example above is using a specific commit (indicated by the hash 080cb46). If you want to use a local copy of countries.json you can instead create the object using the ::fromFilename method, e.g.:

$ep = EveryPolitician::fromFilename('/home/andy/tmp/countries.json');

For more about countries.json, see this description.

Remember that EveryPolitician data is frequently updated — see this information about using EveryPolitician data.

More information on the EveryPolitician site.

Change log

Please see CHANGELOG for information on what has changed recently.

Testing

$ composer test

Contributing

Please see CONTRIBUTING and CONDUCT for details.

Credits

License

The MIT License (MIT). Please see License File for more information.