amsaid / world-news-api
Laravel client for world news api
Fund package maintenance!
Amsaid
Requires
- php: ^8.2
- illuminate/contracts: ^10.0||^11.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^9.0.0||^8.22.0
- pestphp/pest: ^2.34
- pestphp/pest-plugin-arch: ^2.7
- pestphp/pest-plugin-laravel: ^2.3
README
Support us
If you like this package, consider supporting us by donating to support our development. Your support is greatly appreciated! 🙏
Installation
You can install the package via composer:
composer require amsaid/world-news-api
You can publish the config file and the service provider with:
php artisan world-news-api:install
This is the contents of the published config file:
return [ 'apikey' => env('NEWS_API_KEY', 'your-api-key'), ];
Usage
use Amsaid\WorldNewsApi\Facades\NewsApi; $news = NewsApi::search(query: 'Messi', countries: 'us', language: 'en'); // returns a collection of news items $newsItem = $news->first(); // returns a single news item collection // All news items are Laravel collections $newsItem->toJson(); /* returns { "summary": "Joan Monfort never believed in fate...", "image": "https://a.espncdn.com/photo/2024/0710/r1356881_1296x729_16-9.jpg", "sentiment": -0.456, "author": "Sid Lowe", "language": "en", "video": null, "title": "Photographer didn't believe in destiny...", "url": "https://www.espn.com/soccer/story/_/id/4088...", "source_country": "US", "id": 254279758, "text": "...", "category": null, "publish_date": "2024-08-16 18:40:10", "authors": [ "Sid Lowe" ] } */ // Access the summary of the first news item $newsItem->get('summary'); // 'Joan Monfort never believed in fate...' // Access the author of the first news item $newsItem->get('author'); // 'Sid Lowe' // Loop through each news item foreach ($news as $item) { // Access the title of each news item echo $item->get('title'); }
Credits
License
The MIT License (MIT). Please see License File for more information.