Skip to content

Commit 53e6702

Browse files
committed
chore: updated README.md
1 parent 8cf713c commit 53e6702

File tree

2 files changed

+32
-3
lines changed

2 files changed

+32
-3
lines changed

README.md

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Simple library for work with binary data and objects in PHP.
44
See the examples below for more information, or check out [`Encoder`](./src/Encoder.php), [`Decoder`](./src/Decoder.php), [`Serializer`](./src/Serializer.php) and [`Byter`](./src/Byter.php).
55

66
```php
7-
use PetrKnap\Binary\Binary;
7+
namespace PetrKnap\Binary;
88

99
$data = base64_decode('hmlpFnFwbchsoQARSibVpfbWVfuwAHLbGxjFl9eC8fiGaWkWcXBtyGyhABFKJtWl9tZV+7AActsbGMWX14Lx+A==');
1010
$encoded = Binary::encode($data)->checksum()->zlib()->base64(urlSafe: true)->getData();
@@ -14,7 +14,7 @@ printf('Data was coded into `%s` %s.', $encoded, $decoded === $data ? 'successfu
1414
```
1515

1616
```php
17-
use PetrKnap\Binary\Binary;
17+
namespace PetrKnap\Binary;
1818

1919
$data = [
2020
'type' => 'image/png',
@@ -27,7 +27,35 @@ printf('Data was serialized into `%s` %s.', base64_encode($serialized), $unseria
2727
```
2828

2929
```php
30-
use PetrKnap\Binary\Binary;
30+
namespace PetrKnap\Binary;
31+
32+
class DataObject implements Serializer\SelfSerializerInterface
33+
{
34+
use Serializer\SelfSerializerTrait;
35+
36+
public function __construct(
37+
public string $data,
38+
) {
39+
$this->referencesToConstructorArgs = [
40+
&$this->data,
41+
];
42+
}
43+
}
44+
45+
$instance = new DataObject('Lorem ipsum dolor sit amet, consectetur adipiscing elit.');
46+
$instance->data .= ' Duis venenatis ultricies elementum.';
47+
$binary = $instance->toBinary();
48+
$binaryFromHelper = Binary::toBinary($instance);
49+
50+
printf(
51+
'Data object was serialized into `%s` %s.',
52+
base64_encode($binary),
53+
$binary === $binaryFromHelper && $instance == DataObject::fromBinary($binary) ? 'successfully' : 'unsuccessfully',
54+
);
55+
```
56+
57+
```php
58+
namespace PetrKnap\Binary;
3159

3260
$data = base64_decode('hmlpFnFwbchsoQARSibVpfbWVfuwAHLbGxjFl9eC8fiGaWkWcXBtyGyhABFKJtWl9tZV+7AActsbGMWX14Lx+A==');
3361
$sha1 = sha1($data, binary: true);

tests/ReadmeTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ public static function getExpectedOutputsOfPhpExamples(): iterable
2222
return [
2323
'coder' => 'Data was coded into `a8vMFCssyD2Rs5BB0Evt6tJv10J_b2Aoui0tcXT69aaPP9oIyB-fLeAHAA` successfully.',
2424
'serializer' => 'Data was serialized into `S7QysqoutjKxUiqpLEhVsi62srRSysxNTE/VL8hLB/GBUimJJYkgpoWxlVJngJ87L5cUFwMDA6+nh0sQkGYEYQ42ICkveqQTxCkOcndiWHdO5iVYlYtjiER48o/9Ux7aM7C9Z1qixnnFBCjB4Onq57LOKaFJyboWAA==` successfully.',
25+
'self-serializer' => 'Data object was serialized into `DckxCsMwDAXQq4jMJbTd6qwdewnjfMoHSw6W1KX07s324NVyK1+W6+blcS/La0yo8PBU2UcfU5whVREXacMcLRA5pe486I32FnTGKs+kywcGq3Eqe0w2ws+GwiJ1XbbfHw==` successfully.',
2526
'byter' => 'Hashes and data was unbitten into `IoPwxcGHZQM0gfF966vHI3kleehoRKHtC32Xh30RDlg5E026hmlpFnFwbchsoQARSibVpfbWVfuwAHLbGxjFl9eC8fiGaWkWcXBtyGyhABFKJtWl9tZV+7AActsbGMWX14Lx+A==` successfully.',
2627
];
2728
}

0 commit comments

Comments
 (0)