PHPackages                             kylewlawrence/gridpane-laravel - 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. kylewlawrence/gridpane-laravel

ActiveLibrary[API Development](/categories/api)

kylewlawrence/gridpane-laravel
==============================

Laravel wrapper for kylewlawrence/gridpane-api-client-php package

v1.1.13(3y ago)121MITPHPPHP &gt;=8.1

Since Jan 8Pushed 3y ago1 watchersCompare

[ Source](https://github.com/KyleWLawrence/gridpane-laravel)[ Packagist](https://packagist.org/packages/kylewlawrence/gridpane-laravel)[ Docs](http://designanddevelop.io)[ RSS](/packages/kylewlawrence-gridpane-laravel/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (6)Dependencies (2)Versions (7)Used By (0)

Laravel GridPane
================

[](#laravel-gridpane)

This package provides integration with the GridPane API. It supports creating servers, retrieving and updating sites, deleting domains, etc.

The package simply provides a `GridPane` facade that acts as a wrapper to the [kylewlawrence/gridpane-api-client-php](https://github.com/kylewlawrence/gridpane-api-client-php) package.

**NB:** Currently only supports bearer token-based authentication.

Installation
------------

[](#installation)

You can install this package via Composer using:

```
composer require kylewlawrence/gridpane-api-client-php
```

If you want to make use of the facade you must install it as well.

```
// config/app.php
'aliases' => [
    ..
    'GridPane' => KyleWLawrence\GridPane\Facades\GridPane::class,
];
```

Configuration
-------------

[](#configuration)

To publish the config file to `app/config/gridpane-laravel.php` run:

```
php artisan vendor:publish --provider="KyleWLawrence\GridPane\Providers\GridPaneServiceProvider"
```

Set your configuration using **environment variables**, either in your `.env` file or on your server's control panel:

- `GP_TOKEN`

The API access token. You can create one at: `https://my.gridpane.com/settings`

- `GP_DRIVER` *(Optional)*

Set this to `null` or `log` to prevent calling the GridPane API directly from your environment.

Contributing
------------

[](#contributing)

If you have any questions/problems/request with the SDK (the GridPaneService class), please go to the [GridPane PHP SDK repository](https://github.com/KyleWLawrence/gridpane-api-client-php) with those requests. Pull Requests for the Laravel wrapper are always welcome here. I'll catch-up and develop the contribution guidelines soon. For the meantime, just open and issue or create a pull request.

Usage
-----

[](#usage)

### Facade

[](#facade)

The `GridPane` facade acts as a wrapper for an instance of the `GridPane\API\Client` class. Any methods available on this class ([documentation here](https://github.com/kylewlawrence/gridpane-api-client-php#usage)) are available through the facade. for example:

```
// Get all Servers
GridPane::server()->getAll();

// Create a new server
$newServer = $client->server()->create([
    'servername' => 'hal9000',
    'ip' => '199.199.199.199',
    'datacenter' => 'space-station-v',
    'webserver' => 'nginx',
    'database' => 'percona'
]);
print_r($newServer);

// Delete a server
GridPane::server(12345)->delete();
```

### Dependency injection

[](#dependency-injection)

If you'd prefer not to use the facade, you can skip adding the alias to `config/app.php` and instead inject `KyleWLawrence\GridPane\Services\GridPaneService` into your class. You can then use all of the same methods on this object as you would on the facade.

```
