Skip to content

Home

PlinkerRPC PHP client/server makes it really easy to link and execute PHP component classes on remote systems, while maintaining the feel of a local method call.

RedBeanPHP component which will enable you to directly manage databases on remote sites.

Composer

{
    "require": {
        "plinker/redbean": ">=v0.1"
    }
}

Making a remote call.

<?php
require 'vendor/autoload.php';

try {

    /**
     * Plinker Config
     */
    $config = [
        // plinker connection | using tasks as to write in the correct .sqlite file
        'plinker' => [
            'endpoint' => 'http://127.0.0.1/examples/redbean/server.php',
            'public_key'  => 'makeSomethingUp',
            'private_key' => 'againMakeSomethingUp'
        ],

        // database connection
        'database' => [
            'dsn'      => 'sqlite:./.plinker/database.db',
            'host'     => '',
            'name'     => '',
            'username' => '',
            'password' => '',
            'freeze'   => false,
            'debug'    => false,
        ]
    ];

    // init plinker endpoint client
    $rdb = new \Plinker\Core\Client(
        // where is the plinker server
        $config['plinker']['endpoint'],

        // component namespace to interface to
        'Redbean\Redbean',

        // keys
        $config['plinker']['public_key'],
        $config['plinker']['private_key'],

        // construct values which you pass to the component
        $config['database']
    );

    //..

} catch (\Exception $e) {
    exit(get_class($e).': '.$e->getMessage());
}

then the server part...

<?php
require 'vendor/autoload.php';

/**
 * POST Server Part
 */
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $server = new Plinker\Core\Server(
        $_POST,
        'username',
        'password'
    );
    exit($server->execute());
}

See the organisations page for additional components.