<?php /** * @link http://github.com/zendframework/zend-servicemanager for the canonical source repository * @copyright Copyright (c) 2015-2016 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ namespace Zend\ServiceManager\Factory; use Interop\Container\ContainerInterface; /** * Factory for instantiating classes with no dependencies or which accept a single array. * * The InvokableFactory can be used for any class that: * * - has no constructor arguments; * - accepts a single array of arguments via the constructor. * * It replaces the "invokables" and "invokable class" functionality of the v2 * service manager. */ final class InvokableFactory implements FactoryInterface { /** * {@inheritDoc} */ public function __invoke(ContainerInterface $container, $requestedName, array $options = null) { return (null === $options) ? new $requestedName : new $requestedName($options); } }