Total Complexity | 5 |
Total Lines | 44 |
Duplicated Lines | 0 % |
Coverage | 85.71% |
Changes | 0 |
1 | <?php |
||
8 | class StreamFactory implements StreamFactoryInterface |
||
9 | { |
||
10 | |||
11 | /** |
||
12 | * @param string $content |
||
13 | * @return StreamInterface |
||
14 | */ |
||
15 | 32 | public function createStream(string $content = ''): StreamInterface |
|
16 | { |
||
17 | 32 | $resource = fopen("php://temp", "w+b"); |
|
18 | |||
19 | 32 | if (!is_resource($resource)) { |
|
20 | throw new \InvalidArgumentException('Error while creating PHP stream'); |
||
21 | } |
||
22 | |||
23 | 32 | fwrite($resource, $content); |
|
24 | 32 | rewind($resource); |
|
25 | |||
26 | 32 | return $this->createStreamFromResource($resource); |
|
27 | } |
||
28 | |||
29 | /** |
||
30 | * @param string $filename |
||
31 | * @param string $mode |
||
32 | * @return StreamInterface |
||
33 | */ |
||
34 | 4 | public function createStreamFromFile(string $filename, string $mode = 'r'): StreamInterface |
|
35 | { |
||
36 | 4 | $resource = fopen($filename, $mode); |
|
37 | |||
38 | 4 | if (!is_resource($resource)) { |
|
39 | throw new \InvalidArgumentException('Error while creating PHP stream'); |
||
40 | } |
||
41 | |||
42 | 4 | return $this->createStreamFromResource($resource); |
|
43 | } |
||
44 | |||
45 | /** |
||
46 | * @param resource $resource |
||
47 | * @return StreamInterface |
||
48 | */ |
||
49 | 36 | public function createStreamFromResource($resource): StreamInterface |
|
52 | } |
||
53 | } |
||
54 |