Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
83.33% covered (warning)
83.33%
5 / 6
50.00% covered (danger)
50.00%
1 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
factory
83.33% covered (warning)
83.33%
5 / 6
50.00% covered (danger)
50.00%
1 / 2
4.07
0.00% covered (danger)
0.00%
0 / 1
 __construct
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 get
80.00% covered (warning)
80.00%
4 / 5
0.00% covered (danger)
0.00%
0 / 1
3.07
1<?php
2/**
3 *
4 * This file is part of the phpBB Forum Software package.
5 *
6 * @copyright (c) phpBB Limited <https://www.phpbb.com>
7 * @license GNU General Public License, version 2 (GPL-2.0)
8 *
9 * For full copyright and license information, please see
10 * the docs/CREDITS.txt file.
11 *
12 */
13
14namespace phpbb\files;
15
16class factory
17{
18    /**
19     * @var \Symfony\Component\DependencyInjection\ContainerInterface
20     */
21    private $container;
22
23    /**
24     * Constructor
25     *
26     * @param \Symfony\Component\DependencyInjection\ContainerInterface $container
27     */
28    public function __construct(\Symfony\Component\DependencyInjection\ContainerInterface $container)
29    {
30        $this->container = $container;
31    }
32
33    /**
34     * Get files service
35     *
36     * @param string $name Service name
37     *
38     * @return object|false Requested service or false if service could not be
39     *                found by the container
40     */
41    public function get($name)
42    {
43        $service = false;
44
45        $name = (strpos($name, '.') === false) ? 'files.' . $name : $name;
46
47        try
48        {
49            $service = $this->container->get($name) ?? false;
50        }
51        catch (\Exception $e)
52        {
53            // do nothing
54        }
55
56        return $service;
57    }
58}