9
9
* @package Reader
10
10
*/
11
11
12
- namespace PHPExif ;
12
+ namespace PHPExif \ Reader ;
13
13
14
- use PHPExif \Reader \AdapterInterface ;
15
- use PHPExif \Reader \NoAdapterException ;
14
+ use PHPExif \Adapter \AdapterInterface ;
15
+ use PHPExif \Adapter \NoAdapterException ;
16
+ use PHPExif \Adapter \Exiftool as ExiftoolAdapter ;
17
+ use PHPExif \Adapter \Native as NativeAdapter ;
16
18
17
19
/**
18
20
* PHP Exif Reader
23
25
* @package Reader
24
26
* @
25
27
*/
26
- class Reader
28
+ class Reader implements ReaderInterface
27
29
{
28
30
const TYPE_NATIVE = 'native ' ;
29
31
const TYPE_EXIFTOOL = 'exiftool ' ;
30
32
31
33
/**
32
34
* The current adapter
33
35
*
34
- * @var \PHPExif\Reader \AdapterInterface
36
+ * @var \PHPExif\Adapter \AdapterInterface
35
37
*/
36
38
protected $ adapter ;
37
39
38
40
/**
39
41
* Reader constructor
40
42
*
41
- * @param \PHPExif\Reader \AdapterInterface $adapter
43
+ * @param \PHPExif\Adapter \AdapterInterface $adapter
42
44
*/
43
- public function __construct (AdapterInterface $ adapter = null )
44
- {
45
- if (!is_null ($ adapter )) {
46
- $ this ->setAdapter ($ adapter );
47
- }
48
- }
49
-
50
- /**
51
- * Setter for the reader adapter
52
- *
53
- * @param \PHPExif\Reader\AdapterInterface $adapter
54
- * @return \PHPExif\Reader Current instance for chaining
55
- */
56
- public function setAdapter (AdapterInterface $ adapter )
45
+ public function __construct (AdapterInterface $ adapter )
57
46
{
58
47
$ this ->adapter = $ adapter ;
59
-
60
- return $ this ;
61
48
}
62
49
63
50
/**
64
51
* Getter for the reader adapter
65
52
*
66
- * @return \PHPExif\Reader \AdapterInterface
53
+ * @return \PHPExif\Adapter \AdapterInterface
67
54
* @throws NoAdapterException When no adapter is set
68
55
*/
69
56
public function getAdapter ()
@@ -79,20 +66,19 @@ public function getAdapter()
79
66
* Factory for the reader
80
67
*
81
68
* @param string $type
82
- * @return \PHPExif\Reader
69
+ * @return $this
83
70
* @throws \InvalidArgumentException When given type is invalid
84
71
*/
85
72
public static function factory ($ type )
86
73
{
87
74
$ classname = get_called_class ();
88
-
89
75
$ adapter = null ;
90
76
switch ($ type ) {
91
77
case self ::TYPE_NATIVE :
92
- $ adapter = new Reader \ Adapter \ Native ();
78
+ $ adapter = new NativeAdapter ();
93
79
break ;
94
80
case self ::TYPE_EXIFTOOL :
95
- $ adapter = new Reader \ Adapter \ Exiftool ();
81
+ $ adapter = new ExiftoolAdapter ();
96
82
break ;
97
83
default :
98
84
throw new \InvalidArgumentException (
@@ -109,8 +95,19 @@ public static function factory($type)
109
95
* @param string $file
110
96
* @return \PHPExif\Exif Instance of Exif object with data
111
97
*/
112
- public function getExifFromFile ($ file )
98
+ public function read ($ file )
113
99
{
114
100
return $ this ->getAdapter ()->getExifFromFile ($ file );
115
101
}
102
+
103
+ /**
104
+ * alias to read method
105
+ *
106
+ * @param string $file
107
+ * @return \PHPExif\Exif Instance of Exif object with data
108
+ */
109
+ public function getExifFromFile ($ file )
110
+ {
111
+ return $ this ->read ($ file );
112
+ }
116
113
}
0 commit comments