Download the PHP package plinker/core without Composer
On this page you can find all versions of the php package plinker/core. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Package core
Short Description 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.
License MIT
Homepage https://github.com/lcherone/plinker-core
Informations about the package core
PlinkerRPC - Core
PlinkerRPC PHP client/server makes it really easy to link and execute generic PHP components on remote systems, while maintaining the feel of a local method call.
Docs: https://plinker-rpc.github.io/core
New changes in version 3 include:
- Now compaible with PHP extension.
- Built-in core components and info method added so components can be discovered.
- Only one client instance is now needed, made use of __get() to dynamically set component.
- User defined components/classes, so you can call your own code.
- Both request and response is encrypted and signed.
Install
Require this package with composer using the following command:
Additional Setup
This component does not require any additional setup.
Client
Creating a client instance is done as follows:
<?php
require 'vendor/autoload.php';
/**
* Initialize plinker client.
*
* @param string $server - URL to server listener.
* @param string $config - server secret, and/or a additional component data
*/
$client = new \Plinker\Core\Client(
'http://example.com/server.php',
[
'secret' => 'a secret password',
]
);
// or using global function
$client = plinker_client('http://example.com/server.php', 'a secret password');
Server
Creating a server listener is done as follows:
Optional features:
- Set a secret, which all clients will require.
- Lock down to specific client IP addresses for addtional security.
- Define your own classes in the
classes
array then access like above$client->class->method()
, which can interface out of scope components or composer packages. - Define addtional key values for database connections etc, or you could pass the parameters through the client connection.
<?php
require 'vendor/autoload.php';
/**
* Initialize plinker server.
*/
if (isset($_SERVER['HTTP_PLINKER'])) {
// init plinker server
echo (new \Plinker\Server([
'secret' => 'a secret password',
'allowed_ips' => [
'127.0.0.1'
],
'classes' => [
'test' => [
// path to file
'classes/test.php',
// addtional key/values
[
'key' => 'value'
]
],
// you can use namespaced classes
'Foo\\Demo' => [
// path to file
'some_class/demo.php',
// addtional key/values
[
'key' => 'value'
]
],
// ...
]
]))->listen();
}
Methods
Once setup, you call the class though its namespace to its method.
Info
The info method returns defined endpoint methods and their parameters.
Call
Response
Testing
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please contact me via https://cherone.co.uk instead of using the issue tracker.
Credits
Development Encouragement
If you use this code and make money from it and want to show your appreciation, please feel free to make a donation https://www.paypal.me/lcherone, thanks.
Sponsors
Get your company or name listed here.
License
The MIT License (MIT). Please see License File for more information.
See organisations page for additional components.