FlyZip   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
eloc 8
c 1
b 0
f 0
dl 0
loc 24
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A getProvider() 0 14 3
1
<?php
2
3
/**
4
 * @license LGPLv3, http://opensource.org/licenses/LGPL-3.0
5
 * @copyright Aimeos (aimeos.org), 2015-2018
6
 * @package MW
7
 * @subpackage Filesystem
8
 */
9
10
11
namespace Aimeos\MW\Filesystem;
12
13
use League\Flysystem\Filesystem;
14
use League\Flysystem\ZipArchive\ZipArchiveAdapter;
0 ignored issues
show
Bug introduced by Aimeos
The type League\Flysystem\ZipArchive\ZipArchiveAdapter was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
15
16
17
/**
18
 * Implementation of Flysystem Zip archive file system adapter
19
 *
20
 * @package MW
21
 * @subpackage Filesystem
22
 */
23
class FlyZip extends FlyBase implements Iface, DirIface, MetaIface
24
{
25
	private $fs;
26
27
28
	/**
29
	 * Returns the file system provider
30
	 *
31
	 * @return \League\Flysystem\FilesystemInterface File system provider
32
	 */
33
	protected function getProvider()
34
	{
35
		if( !isset( $this->fs ) )
36
		{
37
			$config = $this->getConfig();
38
39
			if( !isset( $config['filepath'] ) ) {
40
				throw new Exception( sprintf( 'Configuration option "%1$s" missing', 'filepath' ) );
41
			}
42
43
			$this->fs = new Filesystem( new ZipArchiveAdapter( $config['filepath'] ) );
44
		}
45
46
		return $this->fs;
47
	}
48
}
49