承接 izaghar/xivapi-laravel 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

izaghar/xivapi-laravel

最新稳定版本:v2.1.0

Composer 安装命令:

composer require izaghar/xivapi-laravel

包简介

Laravel integration for XIVAPI PHP client

README 文档

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 with query string $results = XivApi::search() ->query('+Name~"Potion" +LevelItem>=10') ->sheets(['Item']) ->get(); // Search with SearchQuery builder use XivApi\Query\SearchQuery; $results = XivApi::search() ->query(SearchQuery::where('Name')->contains('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');

Laravel Data Integration

This package provides a normalizer for spatie/laravel-data to convert XIVAPI responses directly into Data DTOs.

Installation

composer require spatie/laravel-data

Usage

Register the normalizer in your Data class:

use Spatie\LaravelData\Data; use XivApi\Laravel\Normalizers\XivApiNormalizer; class ItemData extends Data { public function __construct( public int $rowId, public array $fields, ) {} public static function normalizers(): array { return [ XivApiNormalizer::class, ]; } }

Then create Data objects directly from XIVAPI responses:

use XivApi\Laravel\Facades\XivApi; $response = XivApi::sheet('Item')->row(4)->get(); $item = ItemData::from($response);

Global Configuration

To use the normalizer globally for all Data classes, add it to your config/data.php:

// config/data.php return [ 'normalizers' => [ \XivApi\Laravel\Normalizers\XivApiNormalizer::class, \Spatie\LaravelData\Normalizers\ModelNormalizer::class, \Spatie\LaravelData\Normalizers\ArrayableNormalizer::class, \Spatie\LaravelData\Normalizers\ObjectNormalizer::class, \Spatie\LaravelData\Normalizers\ArrayNormalizer::class, \Spatie\LaravelData\Normalizers\JsonNormalizer::class, ], ];

License

MIT

统计信息

  • 总下载量: 270
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固