Skip to content
PHP package for easy access to EveryPolitician data
Branch: master
Clone or download
Latest commit 52545d3 Dec 14, 2016
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Add @Property declarations Dec 14, 2016
tests Comment out test Dec 14, 2016
.editorconfig Use thephpleague/skeleton Dec 12, 2016
.gitattributes Remove some superfluous stuff; customize a bit Dec 12, 2016
.gitignore Remove some superfluous stuff; customize a bit Dec 12, 2016
.scrutinizer.yml Use thephpleague/skeleton Dec 12, 2016
.travis.yml Update travis config Dec 13, 2016
CHANGELOG.md Remove some superfluous stuff; customize a bit Dec 12, 2016
CONDUCT.md Output of prefill.php Dec 12, 2016
CONTRIBUTING.md Output of prefill.php Dec 12, 2016
LICENSE.md
README.md Add missing semicolon Dec 14, 2016
composer.json Annoying whitespace Dec 13, 2016
phpunit.xml.dist Output of prefill.php Dec 12, 2016

README.md

everypolitician-php

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.

You can’t perform that action at this time.