andylolz / everypolitician-popolo
解析EveryPolitician风格的Popolo数据,并用PHP进行导航
0.0.3
2016-12-13 11:02 UTC
Requires
- php: ~5.6|~7.0
- guzzlehttp/guzzle: ^6.0
Requires (Dev)
- mockery/mockery: ^0.9.6
- phpunit/phpunit: ~4.0||~5.0
- squizlabs/php_codesniffer: ^2.3
This package is not auto-updated.
Last update: 2024-09-28 20:14:40 UTC
README
这是一个将Python包everypolitician-popolo-python移植到PHP的版本,而它本身是将Ruby宝石everypolitician-popolo移植到Python的版本。
安装
通过Composer
$ composer require andylolz/everypolitician-popolo
使用
您可以从EveryPolitician手动下载Popolo文件。
以下示例使用Åland Lagting(它是奥兰群岛的立法机构,作为JSON数据从EveryPolitician奥兰页面提供)。
首先,您需要引入库并从磁盘读取文件。
use \EveryPolitician\EveryPoliticianPopolo\Popolo; $popolo = Popolo::fromFilename('ep-popolo-v1.0.json');
EveryPolitician使用的所有Popolo类都已实现
为类上的每个属性定义了方法,例如,对于Person
count($popolo->persons); // 60 $person = $popolo->persons->first; echo $person->id; // e3aab23e-a883-4763-be0d-92e5936024e2 echo $person->name; // Aaltonen Carina echo $person->image; // http://www.lagtinget.ax/files/aaltonen_carina.jpg echo $person->wikidata; // Q4934081
您还可以根据其属性找到单个记录或集合
echo $popolo->persons->get(["name" => "Aaltonen Carina"]); // <Person: Aaltonen Carina> $organizations = $popolo->organizations->filter(["classification" => "party"]); foreach ($organizations as $organization) { echo $organization; } // <Organization: Liberalerna> // <Organization: Liberalerna på Åland r.f.> // <Organization: Moderat Samling> // <Organization: Moderat Samling på Åland r.f.> // <Organization: Moderat samling> // <Organization: Moderaterna på Åland> // <Organization: Obunden Samling> // <Organization: Obunden Samling på Åland> // <Organization: Ålands Framtid> // <Organization: Ålands Socialdemokrater> // <Organization: Ålands framtid> // <Organization: Ålands socialdemokrater> // <Organization: Åländsk Center> // <Organization: Åländsk Center r.f.> // <Organization: Åländsk Demokrati> // <Organization: Åländsk center>
变更日志
请参阅CHANGELOG了解最近的变化。
测试
$ composer test
贡献
请参阅CONTRIBUTING和CONDUCT了解详细信息。
鸣谢
许可证
MIT许可证(MIT)。请参阅许可证文件获取更多信息。