kusabi / messages
实现响应消息管理器的库
1.0.1
2019-10-20 14:01 UTC
Requires (Dev)
- codacy/coverage: ^1.4
- friendsofphp/php-cs-fixer: ^2.14
- phan/phan: ^1.2
- phpunit/phpunit: ^8.0
- symfony/var-dumper: ^4.2
This package is auto-updated.
Last update: 2024-08-29 05:06:36 UTC
README
响应消息集合库。
它与PSR LoggerInterface兼容。
如何使用Messages
消息是库中的最小单元。
它包含一条消息和一个上下文。
消息是一个string
,上下文是一个array
。
所有操作方法都返回Message实例以实现流畅的链式调用。
$message->setMessage('Success')->setContext([1, 2, 3]);
use Kusabi\Messages\Message; // Creating a blank message $message = new Message(); // Creating a message with a simple success string $message = new Message('Successfully retrieved users'); // Creating a message with context. // Here the context suggests we are only retriving recent users. $message = new Message('Successfully retrieved users', [ 'created' => 'recent' ]); // Updating the message after creation $message->setMessage('Changed the message'); $message->setContext([ 'created' => 'recent', 'changed_at' => date('Y-m-d H:i:s') ]); // Merging more context data into the context array $message->mergeContext([ 'changed_at' => date('Y-m-d H:i:s'), 'reason' => 'merged' ]); // Add more entries to the context using a key and value $message->addContext('php', '7.2'); // Retrieving the values $message->getMessage(); $message->getContext(); // Json encode the message echo json_encode($message); // {"message":"Changed the message", "context":{...}} // Cast as string just returns the message echo (string) $message; // "Changed the message"
如何使用Message Groups
消息组是一组消息。
它是围绕这组消息的数组包装。
所有操作方法都返回MessageGroup实例以实现流畅的链式调用。
$messageGroup->addMessage('Success', [])->clearMessages()->count();
// Creating a Message Group $messageGroup = new MessageGroup(); $messageGroup->addMessage('Test Message', [ 'context' => 1 ]); $messageGroup->addMessageInstance( new Message('Test message') ); $messageGroup[] = new Message('Test'); // Clearing the message group $messageGroup->setMessages([]); $messageGroup->clearMessages(); // Accessing Message Group properties if (count($messageGroup) > 0) { foreach($messageGroup as $message) { echo $message->getMessage(); } $messageGroup->clearMessages(); } // Json encode the message group echo json_encode($messageGroup); // [{"message":"First Message", "context":{...}},{"message":"Second Message", "context":{...}}] // Cast as string just returns the messages echo (string) $messageGroup; // "First Message, Second Message"
如何使用Message Collections
消息集合是一组消息组。
它为每个详细程度级别有一个。
它作为围绕这组消息组的数组包装。
所有操作方法都返回MessageCollection实例以实现流畅的链式调用。
$messageCollection ->success('It worked') ->notice('We will be experiencing down time shortly', [ 'start' => '1970-01-01 12:00:00' ]);
// Creating a Message Collection $messageCollection = new MessageCollection(); $messageCollection->info('We will be experiencing downtime next Sunday', [ 'timestamp' => $nextWeek->getTimestamp() ]); $messageCollection->error('Failed to connect to database', [ 'host' => '127.0.0.1', 'password' => 'secret' ]); // Accessing Message Collection properties $messageCollection->getMessageGroups(); $messageCollection->getMessages();