Package Data | |
---|---|
Maintainer Username: | iblank |
Maintainer Contact: | ikcollins@gmail.com (Ian Collins) |
Package Create Date: | 2015-04-14 |
Package Last Update: | 2015-04-16 |
Home Page: | |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-17 03:01:26 |
Package Statistics | |
---|---|
Total Downloads: | 33 |
Monthly Downloads: | 1 |
Daily Downloads: | 0 |
Total Stars: | 0 |
Total Watchers: | 2 |
Total Forks: | 0 |
Total Open Issues: | 0 |
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/
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 your providers
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.
Run php artisan vendor:publish
and set your API key and affiliate id in the file:
/app/config/govsearch.php
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
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'
)
/**
* 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);
{
"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"
}
]
}
// 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);
Built on code from Alaouy's Youtube Laravel Facade/Wrapper.