for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Nip\Container\Utility;
use Exception;
use Nip\Container\Container as NipContainer;
use Psr\Container\ContainerInterface;
/**
* Class Container
* @package Nip\Utility
*/
class Container
{
* @return false|ContainerInterface|NipContainer
* @noinspection PhpDocMissingThrowsInspection
public static function container($reset = false)
static $instance;
if ($reset || !($instance instanceof ContainerInterface)) {
/** @noinspection PhpUnhandledExceptionInspection */
$instance = static::detect();
}
return $instance;
* @return ContainerInterface
* @throws Exception
public static function detect()
if (class_exists(NipContainer::class)) {
return NipContainer::getInstance();
throw new Exception("No valid container found");
* @param null $make
$make
null
* @return mixed
public static function get($make = null)
if (is_null($make)) {
is_null($make)
true
return static::container();
return static::container()->get($make);