wedocreatives/toggl
Composer 安装命令:
composer require wedocreatives/toggl
包简介
Custom PHP library to connect with the Toggl API - Fork of ixudra/toggl
README 文档
README
Fork of ixudra/toggl
Custom PHP library to connect with the Toggl API - developed by Ixudra.
This package can be used by anyone at any given time, but keep in mind that it is optimized for my personal custom workflow. It may not suit your project perfectly and modifications may be in order.
Installation
Pull this package in through Composer.
{ "require": { "wedocreatives/toggl": "0.*" } }
Laravel Integration
Add the service provider to your config/app.php file
'providers' => array( //... Wedocreatives\Toggl\TogglServiceProvider::class, )
Add the facade to your config/app.php file:
'aliases' => array( //... 'Toggl' => Wedocreatives\Toggl\Facades\Toggl::class, ),
Add workspace ID and your personal API token to your .env file:
TOGGL_WORKSPACE=123
TOGGL_TOKEN=your_toggl_api_token
Add the following lines of code to your config/services.php file:
'toggl' => [ 'workspace' => env('TOGGL_WORKSPACE'), 'token' => env('TOGGL_TOKEN'), ],
Currently, the package only supports one workspace, which will be sufficient for most users. You can override this behaviour by using the
Config::set('services.toggl.workspace', 456)method. Support for multiple workspaces will be added in the near future.
Lumen 5.* integration
In your bootstrap/app.php, make sure you've un-commented the following line (around line 26):
$app->withFacades();
Then, register your class alias:
class_alias('Wedocreatives\Toggl\Facades\Toggl', 'Toggl');
Finally, you have to register your ServiceProvider (around line 70-80):
/*
|--------------------------------------------------------------------------
| Register Service Providers
|--------------------------------------------------------------------------
|
| Here we will register all of the application's service providers which
| are used to bind services into the container. Service providers are
| totally optional, so you are not required to uncomment this line.
|
*/
// $app->register('App\Providers\AppServiceProvider');
// Package service providers
$app->register(Wedocreatives\Toggl\TogglServiceProvider::class);
Integration without Laravel
Create a new instance of the TogglService where you would like to use the package:
$workspaceId = 123; $apiToken = 'your_toggl_api_token'; $togglService = new \Wedocreatives\Toggl\TogglService( $workspaceId, $apiToken );
Usage
The package provides an easy interface for sending requests to the Toggl API. For the full information regarding the API,
all available methods and all possible parameters, I would refer you to the official Toggl API documentation on
Github. The package provides a (nearly) exact match of (almost) all of functions
that are described in the API documentation. The exact function definitions can be found in the src/Traits directory.
For your convenience, the package will automatically add several required parameters so you don't have to worry about doing so. These parameters include the workspace ID and the API token. These parameters should not be included in any of the requests. Additionally, the package also provides several utility methods for the
Laravel usage
// Return an overview of what users in the workspace are doing and have been doing $response = Toggl::dashboard(); // Create a client $response = Toggl::createClient( array( "name" => "Test company" ) ) ); // Get a summary information of this month for all user $response = Toggl::summaryThisMonth(); // Get a summary information of last month for one specific user $response = Toggl::summaryLastMonth( array( 'user_ids' => '123' ) ) );
Non-laravel usage
$workspaceId = 123; $apiToken = 'your_toggl_api_token'; $togglService = new \Wedocreatives\Toggl\TogglService( $workspaceId, $apiToken ); // Return an overview of what users in the workspace are doing and have been doing $response = $togglService->dashboard(); // Create a client $response = $togglService->createClient( array( "name" => "Test company" ) ) ); // Get a summary information of this month for all user $response = $togglService->summaryThisMonth(); // Get a summary information of last month for one specific user $response = $togglService->summaryLastMonth( array( 'user_ids' => '123' ) ) );
Planning
- Add missing API methods
- Improve usability of existing API methods
- Add additional convenience method
- Update and improve documentation
- Support for multiple workspaces
License
This package is open-sourced software licensed under the MIT license
wedocreatives/toggl 适用场景与选型建议
wedocreatives/toggl 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 7 次下载、GitHub Stars 达 0, 最近一次更新时间为 2019 年 07 月 01 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「api」 「laravel」 「toggl」 「Ixudra」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 wedocreatives/toggl 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 wedocreatives/toggl 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 wedocreatives/toggl 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A PSR-7 compatible library for making CRUD API endpoints
Extension service for morningtrain/toggl-api
Alfabank REST API integration
Toggl API client written on top of Guzzle PHP.
Laravel 5 service provider for Toggl, the time tracker app
PHP SDK for Toggl, the time tracker app
统计信息
- 总下载量: 7
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 11
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-07-01