wedocreatives/toggl 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

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

Latest Version on Packagist license StyleCI Total Downloads

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

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-07-01

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固