src/Container/Autowireable.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php
/**
 * This file is part of Railt package.
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
declare(strict_types=1);

namespace Railt\Container;

use Railt\Container\Exception\ContainerInvocationException;
use Railt\Container\Exception\ContainerResolutionException;

/**
 * Interface Autowireable
 */
interface Autowireable
{
    /**
     * @param callable|\Closure|mixed $callable
     * @param array $params
     * @return mixed
     * @throws ContainerInvocationException
     */
    public function call($callable, array $params = []);

    /**
     * @param string $class
     * @param array $params
     * @return mixed|object
     * @throws ContainerResolutionException
     */
    public function make(string $class, array $params = []);
}