56d7ef4eb604124b74fd54666fde5e804c81d6b3
[m6w6/atick] / README.md
1 atick\Ticker
2 ============
3
4 Asynchronnous resource handling, optionally (ab)using ticks
5
6 **Example with ticks:**
7
8 ```PHP
9 declare(ticks=1);
10
11 $conn = new \pq\Connection;
12 $conn->execAsync("SELECT * FROM foo", function ($rs) {
13 var_dump($rs);
14 });
15
16 $ticker = new \atick\Ticker;
17 $ticker->register();
18 $ticker->read($conn->socket, function($fd) use ($conn) {
19 $conn->poll();
20 if ($conn->busy) {
21 return false;
22 }
23 $conn->getResult();
24 return true;
25 });
26
27 while (count($ticker));
28 ```
29
30 **And an example without ticks:**
31
32 ```php
33 $conn = new \pq\Connection;
34 $conn->execAsync("SELECT * FROM foo", function ($r) {
35 var_dump($r);
36 });
37
38 $ticker = new \atick\Ticker;
39 $ticker->read($conn->socket, function($fd) use ($conn) {
40 $conn->poll();
41 if ($conn->busy) {
42 return false;
43 }
44 $conn->getResult();
45 return true;
46 });
47
48 while($ticker());
49 ```