PHPackages                             alexkart/looker-php-sdk-advanced - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. alexkart/looker-php-sdk-advanced

ActiveLibrary[API Development](/categories/api)

alexkart/looker-php-sdk-advanced
================================

Advanced PHP SDK for Looker API

0.2.0(2y ago)31861MITPHPPHP &gt;=8.1

Since Jun 24Pushed 2y ago1 watchersCompare

[ Source](https://github.com/alexkart/looker-php-sdk-advanced)[ Packagist](https://packagist.org/packages/alexkart/looker-php-sdk-advanced)[ RSS](/packages/alexkart-looker-php-sdk-advanced/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (3)Versions (5)Used By (0)

Looker PHP SDK Advanced
=======================

[](#looker-php-sdk-advanced)

API version: 4.0

This package is an advanced version of generated [Looker PHP SDK](https://github.com/alexkart/looker-php-sdk). It adds additional functionality and simplifies the work with the Looker API. You can interact with the whole API that Looker provides with just one Looker object and don't worry about anything else. Currently, it provides the following additional functionality:

- Provides a single wrapper object for various SDK classes
- Automates authentication process
- Automatically renews expired access tokens and stores them into the persistent storage
- ... more will be added later

Installation &amp; Usage
------------------------

[](#installation--usage)

### Composer

[](#composer)

```
composer require alexkart/looker-php-sdk-advanced

```

### Manual Installation

[](#manual-installation)

Download the files and include `autoload.php`:

```
require_once('/path/to/looker-php-sdk-advanced/vendor/autoload.php');
```

Getting Started
---------------

[](#getting-started)

See usage examples in the [**examples**](examples) folder. These examples use Looker credentials from the `.env` file, you can create it by copying `.env.example` file.

### Basic example

[](#basic-example)

In order to start interacting with the API you just need to instantiate Looker object and provide a config with the Looker host and valid credentials (API client id and API client secret):

```
$config = new \App\CustomLookerConfiguration(
    'https://looker-host:19999/api/4.0',
    'client-id',
    'client-secret',
);
$looker = new \Alexkart\Looker\Looker($config);
```

Then you can call any API endpoint like this:

```
$looks = $looker->lookApi->searchLooks(null, 'test');
$dashboards = $looker->dashboardApi->allDashboards(['title']);
$folders = $looker->folderApi->allFolders();
```

The complete working example you can find here [**basic.php**](examples/basic.php)

This is the simplest way to interact with the API, it will request a new access token each time the Looker object is instantiated. Alternatively you can provide an existing access token and it will be used to authenticate requests to the API.

```
$config = new \Alexkart\Looker\LookerConfiguration(
    'https://looker-host:19999/api/4.0',
    '',
    '',
    'access-token'
);
$looker = new \Alexkart\Looker\Looker($config);
```

You can provide both access token and API credentials:

```
$config = new \Alexkart\Looker\LookerConfiguration(
    'https://looker-host:19999/api/4.0',
    'client-id',
    'client-secret',
    'optional-access-token'
);
$looker = new \Alexkart\Looker\Looker($config);
```

The access token you provided will be used until it is valid and when it expires a new token will be requested automatically. You can check if the token has been renewed like this:

```
if ($looker->getLookerConfig()->isAccessTokenRenewed()) {
    $token = $looker->getLookerConfig()->getAccessToken();
}
```

If you want the access token to be stored into the persistent storage (database, cache, file, etc.) automatically when it is renewed you can extend `LookerConfiguration` class and provide implementation for the `storeAccessToken()` method and use this class to instantiate `Looker` object:

```
class CustomLookerConfiguration extends \Alexkart\Looker\LookerConfiguration {
    public function storeAccessToken($accessToken): void {
        file_put_contents(__DIR__ . DIRECTORY_SEPARATOR . 'looker_access_token.txt', $accessToken);
    }
}
```

This method will be called when new access token is requested from the API. Additionally, you can implement `loadAccessToken()` method and it will be used to get the access token from your storage. You will just need to provide API credentials and it will handle the work with access tokens for you.

```
class CustomLookerConfiguration extends \Alexkart\Looker\LookerConfiguration {
    public function storeAccessToken($accessToken): void {
        file_put_contents(__DIR__ . DIRECTORY_SEPARATOR . 'looker_access_token.txt', $accessToken);
    }
    public function loadAccessToken(): string {
        return (string)file_get_contents(__DIR__ . DIRECTORY_SEPARATOR . 'looker_access_token.txt');
    }
}
```

The complete working example you can see here [**custom\_configuration.php**](examples/custom_configuration.php)

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~114 days

Total

4

Last Release

1081d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/9946155ed284d2d4147cccc0c9e3fdeaf59310adf1145962d46f6a43820cb4c2?d=identicon)[alexkart](/maintainers/alexkart)

---

Top Contributors

[![alexkart](https://avatars.githubusercontent.com/u/8249105?v=4)](https://github.com/alexkart "alexkart (13 commits)")

---

Tags

phpapisdkadvancedlooker

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/alexkart-looker-php-sdk-advanced/health.svg)

```
[![Health](https://phpackages.com/badges/alexkart-looker-php-sdk-advanced/health.svg)](https://phpackages.com/packages/alexkart-looker-php-sdk-advanced)
```

###  Alternatives

[jstolpe/instagram-graph-api-php-sdk

Instagram Graph API PHP SDK

13998.4k2](/packages/jstolpe-instagram-graph-api-php-sdk)[clever/clever-php

231.6k](/packages/clever-clever-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
