gamenet / php-jabber-rpc
PHP 对 ejabberd xml-rpc 模块的封装
1.3.4
2016-07-19 09:56 UTC
Requires
- php: >=5.4.0
- comodojo/xmlrpc: ~1.1
Requires (Dev)
- phpunit/phpunit: >=4.0.0
README
关于
mod_xmlrpc 是一个用于 ejabberd 的模块,ejabberd 是一个用 Erlang 编写的 XMPP/Jabber 服务器。它启动一个 XML-RPC 服务器并等待外部请求。实现的调用包括统计信息和用户管理。这允许任何语言(如网站或管理工具)的外部程序与 ejabberd 通信以获取信息或进行更改,而无需了解 ejabberd 的内部结构。
一个使用示例是公司网站在网站上创建新用户时创建一个 Jabber 用户。通过 XML-RPC 与 Jabber 服务器接口而不是直接修改数据库的一些好处包括
- 外部程序更简单,更容易开发和调试
- 可以与不同机器上的服务器通信,甚至可以与互联网上的服务器通信
这个库是 php xmlrpc 模块的一个简单封装,用于简化从 php 使用 ejabberd mod_xmlrpc。PHP 代码基于 mod_admin_extra.erl 和 mod_muc_admin.erl 源文件。
需求
PHP >= 5.4
安装
Composer
安装库的推荐方式是 composer。您可以在 Packagist 上查看 包信息。
{ "require": { "gamenet/php-jabber-rpc": "*" } }
不使用 composer?
只需克隆存储库,并注意 GameNet
命名空间的自动加载。
使用
基本用法如下所示
$rpc = new \GameNet\Jabber\RpcClient([ 'server' => 'http://127.0.0.1:4560', 'host' => 'j.gamenet.ru', 'debug' => false, ]); //Create 2 new users with name `Ivan` and `Petr` with password `someStrongPassword` $rpc->createUser('Ivan', 'someStrongPassword'); $rpc->createUser('Petr', 'someStrongPassword'); // Add each other in the contact list with group 'Friend' $rpc->addRosterItem('Ivan', 'Petr', 'Petr Ivanov', 'Friend'); $rpc->addRosterItem('Petr', 'Ivan', 'Ivan Petrov', 'Friend'); // Get contact list Ivan $contacts = $rpc->getRoster($username);