<?php

namespace EventEspresso\core\services\container;

/**
 * copy of Interop\Container\ContainerInterface
 * Describes the interface of a container that exposes methods to read its entries.
 *
 * @see     https://github.com/container-interop/container-interop
 * @license http://www.opensource.org/licenses/mit-license.php MIT (see the LICENSE file)
 * @since   4.9.0
 */
interface ContainerInterface
{
    /**
     * Finds an entry of the container by its identifier and returns it.
     *
     * @param string $id Identifier of the entry to look for.
     * @return mixed Entry.
     */
    public function get($id);



    /**
     * Returns true if the container can return an entry for the given identifier.
     * Returns false otherwise.
     * `has($id)` returning true does not mean that `get($id)` will not throw an exception.
     * It does however mean that `get($id)` will not throw a `NotFoundException`.
     *
     * @param string $id Identifier of the entry to look for.
     * @return boolean
     */
    public function has($id);
}
