Chris@0
|
1 <?php
|
Chris@0
|
2 /**
|
Chris@0
|
3 * Zend Framework (http://framework.zend.com/)
|
Chris@0
|
4 *
|
Chris@0
|
5 * @link http://github.com/zendframework/zf2 for the canonical source repository
|
Chris@0
|
6 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
|
Chris@0
|
7 * @license http://framework.zend.com/license/new-bsd New BSD License
|
Chris@0
|
8 */
|
Chris@0
|
9
|
Chris@0
|
10 namespace Zend\Feed\Reader;
|
Chris@0
|
11
|
Chris@0
|
12 class StandaloneExtensionManager implements ExtensionManagerInterface
|
Chris@0
|
13 {
|
Chris@0
|
14 private $extensions = [
|
Chris@0
|
15 'Atom\Entry' => 'Zend\Feed\Reader\Extension\Atom\Entry',
|
Chris@0
|
16 'Atom\Feed' => 'Zend\Feed\Reader\Extension\Atom\Feed',
|
Chris@0
|
17 'Content\Entry' => 'Zend\Feed\Reader\Extension\Content\Entry',
|
Chris@0
|
18 'CreativeCommons\Entry' => 'Zend\Feed\Reader\Extension\CreativeCommons\Entry',
|
Chris@0
|
19 'CreativeCommons\Feed' => 'Zend\Feed\Reader\Extension\CreativeCommons\Feed',
|
Chris@0
|
20 'DublinCore\Entry' => 'Zend\Feed\Reader\Extension\DublinCore\Entry',
|
Chris@0
|
21 'DublinCore\Feed' => 'Zend\Feed\Reader\Extension\DublinCore\Feed',
|
Chris@0
|
22 'Podcast\Entry' => 'Zend\Feed\Reader\Extension\Podcast\Entry',
|
Chris@0
|
23 'Podcast\Feed' => 'Zend\Feed\Reader\Extension\Podcast\Feed',
|
Chris@0
|
24 'Slash\Entry' => 'Zend\Feed\Reader\Extension\Slash\Entry',
|
Chris@0
|
25 'Syndication\Feed' => 'Zend\Feed\Reader\Extension\Syndication\Feed',
|
Chris@0
|
26 'Thread\Entry' => 'Zend\Feed\Reader\Extension\Thread\Entry',
|
Chris@0
|
27 'WellFormedWeb\Entry' => 'Zend\Feed\Reader\Extension\WellFormedWeb\Entry',
|
Chris@0
|
28 ];
|
Chris@0
|
29
|
Chris@0
|
30 /**
|
Chris@0
|
31 * Do we have the extension?
|
Chris@0
|
32 *
|
Chris@0
|
33 * @param string $extension
|
Chris@0
|
34 * @return bool
|
Chris@0
|
35 */
|
Chris@0
|
36 public function has($extension)
|
Chris@0
|
37 {
|
Chris@0
|
38 return array_key_exists($extension, $this->extensions);
|
Chris@0
|
39 }
|
Chris@0
|
40
|
Chris@0
|
41 /**
|
Chris@0
|
42 * Retrieve the extension
|
Chris@0
|
43 *
|
Chris@0
|
44 * @param string $extension
|
Chris@0
|
45 * @return Extension\AbstractEntry|Extension\AbstractFeed
|
Chris@0
|
46 */
|
Chris@0
|
47 public function get($extension)
|
Chris@0
|
48 {
|
Chris@0
|
49 $class = $this->extensions[$extension];
|
Chris@0
|
50 return new $class();
|
Chris@0
|
51 }
|
Chris@0
|
52 }
|