zyfmix / xmpp
XMPP协议(Jabber)连接库
0.6.1
2014-11-20 08:59 UTC
Requires
- php: >=5.3.3
- psr/log: ~1.0
Requires (Dev)
- behat/behat: ~2.5
- monolog/monolog: ~1.11
- phpunit/phpunit: ~4.3
- satooshi/php-coveralls: ~0.6
Suggests
- psr/log-implementation: Allows more advanced logging of the xmpp connection
This package is not auto-updated.
Last update: 2024-09-24 19:08:59 UTC
README
PHP的XMPP协议连接(Jabber)库。
系统要求
- PHP >= 5.3.3
- psr/log
- psr/log-implementation - 类似monolog/monolog的日志记录(可选)
安装
是Composer新手?请阅读简介。将以下内容添加到您的composer文件中
{ "require": { "fabiang/xmpp": "*" } }
文档
此库使用对象来保存选项
use Fabiang\Xmpp\Options; $options = new Options($address); $options->setUsername($username) ->setPassword($password);
服务器地址必须为格式tcp://myjabber.com:5222
。
如果服务器支持TLS,连接将自动加密。
您还可以传递一个PSR-2兼容的对象到选项对象
$options->setLogger($logger)
客户端管理到Jabber服务器的连接,并需要选项对象
use Fabiang\Xmpp\Client; $client = new Client($options); // optional connect manually $client->connect();
要发送数据,您只需要传递一个实现了Fabiang\Xmpp\Protocol\ProtocolImplementationInterface
的对象
use Fabiang\Xmpp\Protocol\Roster; use Fabiang\Xmpp\Protocol\Presence; use Fabiang\Xmpp\Protocol\Message; // fetch roster list; users and their groups $client->send(new Roster); // set status to online $client->send(new Presence); // send a message to another user $message = new Message; $message->setMessage('test') ->setTo('nickname@myjabber.com') $client->send($message); // join a channel $channel = new Presence; $channel->setTo('channelname@conference.myjabber.com') ->setNickName('mynick'); $client->send($channel); // send a message to the above channel $message = new Message; $message->setMessage('test') ->setTo('channelname@conference.myjabber.com') ->setType(Message::TYPE_GROUPCHAT); $client->send($message);
最后,您应该断开连接
$client->disconnect();
开发
如果您喜欢这个库并且想做出贡献,请确保单元测试和集成测试正在运行。Composer将帮助您安装正确的PHPUnit和Behat版本。
composer install --dev
之后
./vendor/bin/phpunit -c tests
./vendor/bin/behat --config=tests/behat.yml --strict
新功能应该始终用Behat测试。
许可证
BSD-2-Clause。请参阅LICENSE。
待办事项
- 更好地集成通道
- 服务器地址的工厂方法
- 添加vCard支持
- 改进文档