用于连接Toggl API的自定义PHP库 - ixudra/toggl的分支

0.6.0 2019-05-28 11:04 UTC

This package is auto-updated.

Last update: 2024-09-29 05:09:01 UTC


README

ixudra/toggl的分支

Latest Version on Packagist license StyleCI Total Downloads

用于连接Toggl API的自定义PHP库 - 由开发。

此包可由任何人随时使用,但请注意,它针对我的个人自定义工作流程进行了优化。它可能不完全适合您的项目,可能需要修改。

安装

通过Composer拉取此包。

    {
        "require": {
            "wedocreatives/toggl": "0.*"
        }
    }

Laravel集成

将服务提供者添加到您的config/app.php文件

    'providers'         => array(

        //...
        Wedocreatives\Toggl\TogglServiceProvider::class,

    )

将外观添加到您的config/app.php文件

    'aliases'           => array(

        //...
        'Toggl'         => Wedocreatives\Toggl\Facades\Toggl::class,

    ),

将工作区ID和您的个人API令牌添加到您的.env文件


TOGGL_WORKSPACE=123
TOGGL_TOKEN=your_toggl_api_token

将以下行添加到您的config/services.php文件

    'toggl' => [
        'workspace'     => env('TOGGL_WORKSPACE'),
        'token'         => env('TOGGL_TOKEN'),
    ],

目前,此包只支持一个工作区,这对大多数用户来说已经足够。您可以通过使用Config::set('services.toggl.workspace', 456)方法来覆盖此行为。未来将添加对多个工作区的支持。

Lumen 5.*集成

在您的bootstrap/app.php中,确保您已取消以下行的注释(大约在26行左右)

$app->withFacades();

然后,注册您的类别名

class_alias('Wedocreatives\Toggl\Facades\Toggl', 'Toggl');

最后,您必须注册您的ServiceProvider(大约在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);

不使用Laravel的集成

在您想要使用此包的地方创建一个新的实例

    $workspaceId = 123;
    $apiToken = 'your_toggl_api_token';
    $togglService = new \Wedocreatives\Toggl\TogglService( $workspaceId, $apiToken );

使用方法

此包提供了一个简单接口,用于向Toggl API发送请求。有关API的完整信息,包括所有可用方法和所有可能的参数,请参阅Github上的官方Toggl API文档。此包提供了(几乎)与API文档中描述的所有(几乎)所有函数的精确匹配。精确的函数定义可以在src/Traits目录中找到。

为了您的方便,此包将自动添加几个必需的参数,您不必担心这样做。这些参数包括工作区ID和API令牌。这些参数不应包含在任何请求中。此外,此包还提供了一些针对

Laravel使用的实用方法

    // 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' ) ) );

非Laravel使用

    $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' ) ) );

计划

  • 添加缺少的API方法
  • 改进现有API方法的可用性
  • 添加额外的便利方法
  • 更新和改进文档
  • 多个工作区的支持

许可证

此包是开源软件,受MIT许可证的许可。