plinker / core
PlinkerRPC PHP 客户端/服务器使您能够轻松地将 PHP 组件类链接和执行在远程系统上,同时保持本地方法调用的感觉。
v3.1.10
2022-08-16 19:20 UTC
Requires
- opis/closure: ^3.0.12
Requires (Dev)
- phpunit/phpunit: 4.*
- dev-master
- v3.1.10
- v3.1.9
- v3.1.8
- v3.1.7
- v3.1.6
- v3.1.5
- v3.1.4
- v3.1.3
- v3.1.2
- v3.1.1
- v3.1.0
- v3.0.14
- v3.0.13
- v3.0.12
- v3.0.11
- v3.0.10
- v3.0.9
- v3.0.8
- v3.0.7
- v3.0.6
- v3.0.5
- v3.0.4
- v3.0.3
- v3.0.2
- v3.0.1
- v3.0.0
- v2.1.8
- v2.1.7
- v2.1.6
- v2.1.5
- v2.1.4
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.37
- v2.0.36
- v2.0.35
- v2.0.34
- v2.0.33
- v2.0.32
- v2.0.31
- v2.0.30
- v2.0.29
- v2.0.28
- v2.0.27
- v2.0.26
- v2.0.25
- v2.0.24
- v2.0.23
- v2.0.22
- v2.0.21
- v2.0.20
- v2.0.19
- v2.0.18
- v2.0.17
- v2.0.16
- v2.0.15
- v2.0.14
- v2.0.13
- v2.0.12
- v2.0.11
- v2.0.10
- v2.0.9
- v2.0.8
- v2.0.7
- v2.0.6
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.3.5
- v1.3.4
- v1.3.3
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.0
- v1.1.1
- v1.1.0
- v1.0.0
- v0.0.5
- v0.0.4
- v0.0.3
- v0.0.2
- v0.0.1
- dev-version3
- dev-add-license-1
- dev-analysis-Xk4V3A
This package is not auto-updated.
Last update: 2024-09-25 05:05:43 UTC
README
PlinkerRPC PHP 客户端/服务器使您能够轻松地将通用 PHP 组件链接和执行在远程系统上,同时保持本地方法调用的感觉。
文档: https://plinker-rpc.github.io/core
版本 3 的新变化包括
- 现在与 PHP 扩展 兼容。
- 内置核心组件和 info 方法,以便组件可以被发现。
- 现在只需要一个客户端实例,使用 __get() 动态设置组件。
- 用户定义组件/类,因此您可以调用自己的代码。
- 请求和响应均进行加密和签名。
安装
使用以下命令使用 composer 安装此包
$ composer require plinker/core
额外设置
此组件不需要任何额外设置。
客户端
创建客户端实例的方法如下
<?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');
服务器
创建服务器监听器的方法如下
可选功能
- 设置一个密钥,所有客户端都将需要。
- 锁定到特定的客户端 IP 地址以提供额外的安全性。
- 在
classes
数组中定义自己的类,然后像上面一样访问$client->class->method()
,可以接口外部作用域组件或 composer 包。 - 为数据库连接等定义额外的键值,或者您可以通过客户端连接传递参数。
<?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();
}
方法
一旦设置,您可以通过其命名空间调用类的函数。
信息
info 方法返回定义的端点方法和它们的参数。
调用
$result = $client->info();
响应
Array
(
[class] => Array
(
[Foo\Demo] => Array
(
[config] => Array
(
[key] => value
)
[methods] => Array
(
[config] => Array
(
)
[this] => Array
(
)
[test] => Array
(
[0] => x
[1] => y
)
)
)
)
)
测试
$ composer test
贡献
有关详细信息,请参阅 CONTRIBUTING。
安全性
如果您发现任何与安全性相关的问题,请通过 https://cherone.co.uk 联系我,而不是使用问题跟踪器。
鸣谢
开发鼓励
如果您使用此代码并从中获利,并希望表示您的感谢,请随时进行捐赠 https://www.paypal.me/lcherone,谢谢。
赞助商
让您的公司或姓名在这里列出。
许可证
MIT 许可证 (MIT)。请参阅 许可证文件 获取更多信息。
有关其他组件,请参阅 组织页面。