izaghar / xivapi-laravel
Laravel integration for XIVAPI PHP client
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/izaghar/xivapi-laravel
Requires
- php: ^8.3
- illuminate/http: ^11.0|^12.0
- illuminate/support: ^11.0|^12.0
- izaghar/xivapi-php: ^1.0
Requires (Dev)
- laravel/pint: ^1.0
README
Laravel integration for the XIVAPI PHP client.
Installation
composer require izaghar/xivapi-laravel
The service provider will be auto-discovered.
Configuration
Publish the config file:
php artisan vendor:publish --tag=xivapi-config
Environment Variables
XIVAPI_LANGUAGE=en XIVAPI_GAME_VERSION=7.0 XIVAPI_SCHEMA=exdschema@latest XIVAPI_LOCALIZATIONS=en,de,fr,ja
Config File
// config/xivapi.php return [ 'language' => env('XIVAPI_LANGUAGE'), 'game_version' => env('XIVAPI_GAME_VERSION'), 'schema' => env('XIVAPI_SCHEMA'), 'localizations' => env('XIVAPI_LOCALIZATIONS'), ];
Usage
Via Facade
use XivApi\Laravel\Facades\XivApi; // Fetch an item $item = XivApi::sheet('Item')->row(4)->get(); // Search $results = XivApi::search() ->query('Name~"Potion"') ->sheets(['Item']) ->get(); // Override global settings per-request $item = XivApi::sheet('Item') ->row(4) ->language(Language::German) ->get();
Via Dependency Injection
use XivApi\XivApi; class ItemController extends Controller { public function show(XivApi $api, int $id) { return $api->sheet('Item')->row($id)->get(); } }
Via Service Container
$api = app(XivApi::class); $item = $api->sheet('Item')->row(4)->get(); // Or using the alias $api = app('xivapi');
License
MIT