abduns/laravel-fit-reader
Composer 安装命令:
composer require abduns/laravel-fit-reader
包简介
A focused Laravel 12 package to read Garmin .fit activity files.
README 文档
README
A focused, developer-friendly Laravel package to read and parse Garmin .fit activity files.
Features
- Modern PHP support
- Lightweight and fast
- Typed API
- DTO Support
- Laravel Integration
- Extensible architecture
Installation
composer require abduns/laravel-fit-reader
php artisan vendor:publish --tag="fit-reader-config"
Quick Start
use Dunn\FitReader\Facades\FitReader; // Read from a local path $activity = FitReader::fromPath(storage_path('app/activities/run.fit')); echo "Total Distance: " . $activity->totalDistanceMeters . " meters";
Example output:
Total Distance: 5000.5 meters
Why This Package?
- Existing solutions are outdated or rely on external binaries
- Missing modern PHP features
- Poor developer experience
- No standards compliance
- Not built specifically for Laravel 12+
This package provides a native PHP implementation for parsing FIT files, converting raw data into easy-to-use Data Transfer Objects (DTOs).
Usage
Basic Usage
use Dunn\FitReader\Facades\FitReader; $activity = FitReader::fromPath(storage_path('app/activities/run.fit')); // Activity Summary echo "Start Time: " . $activity->startTime->format('Y-m-d H:i:s'); echo "Sport: " . $activity->getSportName(); // e.g., "running", "cycling", "swimming"
Advanced Usage
use Illuminate\Http\Request; use Dunn\FitReader\Facades\FitReader; class ActivityController extends Controller { public function store(Request $request) { $file = $request->file('activity_file'); // Parse the uploaded file directly $activity = FitReader::fromUploadedFile($file); // Export entire activity as array $array = $activity->toArray(); $json = $activity->toJson(); return response()->json([ 'distance' => $activity->totalDistanceMeters, 'duration' => $activity->totalDurationSeconds, 'records_count' => $activity->records->count(), ]); } }
Configuration
return [ 'units' => [ 'raw_values' => false, // Set to true if you want raw values instead of converted units ], ];
Standards / Specifications
References:
- Flexible and Interoperable Data Transfer (FIT) Protocol
Supported Features
| Feature | Support |
|---|---|
| Activity Parsing | ✅ |
| Records (Time Series Data) | ✅ |
| Laps Data | ✅ |
| Exporting Data | ✅ |
| Detecting Activity Type | ✅ |
Compatibility
| Platform | Supported |
|---|---|
| PHP 8.2+ | ✅ |
| Laravel 12.x | ✅ |
Design Goals
- Developer experience first
- Predictable APIs
- Minimal dependencies
- Strong typing
- Extensibility
- Native PHP Implementation
Architecture
- Decoded streams into typed DTOs (
FitActivity,FitRecord,FitLap) - Facade for ease of use
- Native file parsing without binary dependencies
Performance
| Operation | Time |
|---|---|
| Parse typical FIT file | < 50ms |
Testing
composer test
Roadmap
- Support writing/editing FIT files
Contributing
Contributions, issues, and discussions are welcome.
Security
If you discover security issues, please report them responsibly.
License
MIT
abduns/laravel-fit-reader 适用场景与选型建议
abduns/laravel-fit-reader 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 101 次下载、GitHub Stars 达 1, 最近一次更新时间为 2025 年 12 月 07 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「parser」 「laravel」 「activity」 「training」 「garmin」 「Fit」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 abduns/laravel-fit-reader 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 abduns/laravel-fit-reader 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 abduns/laravel-fit-reader 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Easy to use SDK with grabber for multiple platforms at once like YouTube, Dailymotion, Facebook and more.
An MT940 bank statement parser for PHP
A very simple activity logger to monitor the users of your website or application (for MongoDB)
Laravel integration for the jsonapi.org parser
A simple activity feed for laravel 5+
A modern HTML DOM parser for PHP using DOMDocument and Symfony CssSelector.
统计信息
- 总下载量: 101
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 25
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-12-07