Skip to content

Commit c908175

Browse files
committed
Updated the README documentation
1 parent 2263d39 commit c908175

File tree

2 files changed

+41
-5
lines changed

2 files changed

+41
-5
lines changed

README.md

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,55 @@ composer require chesszebra/portable-game-notation
1616

1717
### Reading
1818

19+
#### From a string
20+
1921
Reading a single PGN game from a string:
2022

2123
```php
22-
use ChessZebra\PortableGameNotation\Parser\Parser;
23-
use ChessZebra\PortableGameNotation\Lexer\StreamLexer;
24+
use ChessZebra\PortableGameNotation\Reader\StringReader;
25+
26+
$reader = new StringReader('1. e4 e5');
27+
28+
$tokenIterator = $reader->read();
29+
```
30+
31+
#### From a stream
2432

25-
$parser = new Parser(new StreamLexer(fopen('games.pgn', 'r')));
33+
Reading a single PGN game from a stream:
2634

27-
$tokenIterator = $parser->parse();
35+
```php
36+
use ChessZebra\PortableGameNotation\Reader\StringReader;
37+
38+
$reader = new StreamReader(fopen('games.pgn', 'r'));
39+
40+
$tokenIterator = $reader->read();
2841
```
2942

3043
### Writing
3144

45+
#### To a string
46+
47+
Wriring a PGN game to a string:
48+
49+
```php
50+
use ChessZebra\PortableGameNotation\TokenIterator;
51+
use ChessZebra\PortableGameNotation\Token\StandardAlgebraicNotation;
52+
use ChessZebra\PortableGameNotation\Writer\StringWriter;
53+
use ChessZebra\StandardAlgebraicNotation\Notation;
54+
55+
$tokenIterator = new TokenIterator([
56+
new MoveNumber(1),
57+
new StandardAlgebraicNotation(new Notation('e4')),
58+
]);
59+
60+
$writer = new StringWriter();
61+
$writer->write($tokenIterator);
62+
63+
$pgn = $writer->getPgn();
64+
```
65+
66+
#### To a stream
67+
3268
Wriring a PGN game to a stream:
3369

3470
```php

tests/Writer/StringTest.php renamed to tests/Writer/StringWriterTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
use ChessZebra\PortableGameNotation\Token\TokenIterator;
1414
use PHPUnit\Framework\TestCase;
1515

16-
final class StringTest extends TestCase
16+
final class StringWriterTest extends TestCase
1717
{
1818
public function testIfDataIsPopulated()
1919
{

0 commit comments

Comments
 (0)