StreamedReadingTrait   A
last analyzed

↳ Parent: Project

Coupling/Cohesion

Components 0
Dependencies 0

Complexity

Total Complexity 2

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 0
dl 0
loc 37
ccs 9
cts 9
cp 1
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
read() 0 1 ?
A readStream() 0 14 2
1
<?php
2
3
namespace League\Flysystem\Adapter\Polyfill;
4
5
/**
6
 * A helper for adapters that only handle strings to provide read streams.
7
 */
8
trait StreamedReadingTrait
9
{
10
    /**
11
     * Reads a file as a stream.
12
     *
13
     * @param string $path
14
     *
15
     * @return array|false
16
     *
17
     * @see League\Flysystem\ReadInterface::readStream()
18
     */
19 6
    public function readStream($path)
20
    {
21 6
        if ( ! $data = $this->read($path)) {
22 3
            return false;
23
        }
24
25 3
        $stream = fopen('php://temp', 'w+b');
26 3
        fwrite($stream, $data['contents']);
27 3
        rewind($stream);
28 3
        $data['stream'] = $stream;
29 3
        unset($data['contents']);
30
31 3
        return $data;
32
    }
33
34
    /**
35
     * Reads a file.
36
     *
37
     * @param string $path
38
     *
39
     * @return array|false
40
     *
41
     * @see League\Flysystem\ReadInterface::read()
42
     */
43
    abstract public function read($path);
44
}
45