iblank / laravel-gov-search
This Laravel package integrates the USA Gov Search API. Use the config file to add your API token and affiliate.
Requires
- php: >=5.3.0
Requires (Dev)
- phpunit/phpunit: 4.3.*
This package is not auto-updated.
Last update: 2024-11-09 17:45:39 UTC
README
Laravel PHP Facade/Wrapper for the USA.gov, DigitalGov Search API. You will need to create an account with DigialGov to create an affiliate id and access token key: http://search.digitalgov.gov/
Installation
-
Add project to the require array in your
composer.json
file:"require": { "iblank/laravel-gov-search": "dev-master" }
-
Run
composer update
to pull down the latest version of the package. -
Open
app/config/app.php
* and add the service provider to yourproviders
array:'providers' => array( 'iblank\GovSearch\GovSearchServiceProvider' )
* NOTE: if you are using environmental configurations, make sure to place the service provider in the app.php
file respective to your environment.
Configuration
For Laravel 5
Run php artisan vendor:publish
and set your API key and affiliate id in the file:
/app/config/govsearch.php
For Laravel 4
Run php artisan config:publish iblank/laravel-gov-search
and set your API key and affiliate id in the file:
/app/config/packages/iblank/laravel-gov-search/config.php
Default Options
Optionally change the default values for search requests using the DEFAULTS
array in the config file:
'DEFAULTS' => array( 'highlight' => true, 'limit' => 20, // 1 to 999 'sort' => 'relevance' // or 'date' )
Usage
/** * Returns PHP object of search results * @param $search (string) - what to search for * @param $options (array) - set an 'offset' index and/or override any of the defaults set in the config file * @return (object) - PHP object (details below) */ $apiResult = GovSearch::search($search, $options);
Sample Format of Returned Object:
{ "total": 356, "next_offset": 20, "spelling_correction": null, "results": [ { "title": "sample title", "url": "http://www.anyplace.com", "snippet": "sample snippet", "publication_date": "2014-11-24" } ] }
Basic Search Pagination Example
// Set Defaults $search = 'Medal of Honor'; $options = array( 'offset' => 0, 'limit' => 25 ); // Make initial call $apiResult = GovSearch::search($search, $options); // Set total results $totalResults = $apiResult['total']; // Set total pages $totalPages = ceil($totalResults / $options['limit']); // Using this example, with 77 total results, would give you 4 pages // If you want to go to page 3 of 4... $page = 3; $options['offset'] = ($page - 1) * $options['limit']; $apiResults = GovSearch::search($search, $options);
Credits
Built on code from Alaouy's Youtube Laravel Facade/Wrapper.