PHP code example of guanguans / notify
1. Go to this page and download the library: Download guanguans/notify library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
guanguans / notify example snippets
// 1. Create authenticator
$authenticator = new Guanguans\Notify\DingTalk\Authenticator(
'c44fec1ddaa8a833156efb77b7865d62ae13775418030d94d05da08bfca73',
// 'SECc32bb7345c0f73da2b9786f0f7dd5083bd768a29b82e6d460149d730eee51'
);
// 2. Create client
$client = new Guanguans\Notify\DingTalk\Client($authenticator);
// 3. Create message
$message = Guanguans\Notify\DingTalk\Messages\BtnsActionCardMessage::make([
'title' => 'This is title(keyword).',
'text' => 'This is text.',
// 'btnOrientation' => 1,
// 'btns' => [
// [
// 'title' => 'This is title 1.',
// 'actionURL' => 'https://github.com/guanguans/notify',
// ],
// ],
])
->btnOrientation(1)
->addBtn([
'title' => 'This is title 2.',
'actionURL' => 'https://github.com/guanguans/notify',
]);
// 4. Send message
$response = $client
// ->baseUri('base-uri')
// ->connectTimeout(10)
// ->debug(true)
// ->proxy('http://127.0.0.1:1087')
// ->timeout(30)
// ->verify(false)
// ->push(
// GuzzleHttp\Middleware::log(
// new Psr\Log\NullLogger,
// new GuzzleHttp\MessageFormatter(GuzzleHttp\MessageFormatter::DEBUG)
// ),
// 'log'
// )
// ->before(
// 'log',
// GuzzleHttp\Middleware::mapRequest(
// static fn (Psr\Http\Message\RequestInterface $request) => $request
// ),
// )
->send($message)
->dump()
// ->throw()
->json();
$promise = $client->sendAsync($message);
$response = $promise->wait();
/** @var iterable<array-key, \Guanguans\Notify\Foundation\Contracts\Message> $messages */
/** @var array<array-key, \Guanguans\Notify\Foundation\Response|\Psr\Http\Message\ResponseInterface> $responses */
$responses = $client->pool($messages);
use Guanguans\Notify\Foundation\Client;
use GuzzleHttp\HandlerStack;
use Hyperf\Guzzle\CoroutineHandler;
use Hyperf\Guzzle\HandlerStackFactory;
use Hyperf\Guzzle\PoolHandler;
// Set Handler directly
// $client->setHandler(make(CoroutineHandler::class));
// $client->setHandler(make(PoolHandler::class));
$client->setHandler((fn () => $this->getHandler($this->option))->call(new HandlerStackFactory));
// Or set HandlerStackResolver
$client->setHandlerStackResolver(static fn (Client $client): HandlerStack => array_reduce(
$client->defaultMiddlewares(),
static fn (HandlerStack $handlerStack, callable $middleware) => tap($handlerStack)->push($middleware),
(new HandlerStackFactory)->create()
));