for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace App\Zapheus;
use Zapheus\Container\WritableInterface;
use Zapheus\Provider\ProviderInterface;
use Zapheus\Routing\RouterInterface;
/**
* Zapheus Provider
*
* @package App
* @author Rougin Royce Gutib <[email protected]>
*/
class ZapheusProvider implements ProviderInterface
{
const COMPOSITE = 'App\Zapheus\CompositeRouter';
* Registers the bindings in the container.
* @param \Zapheus\Container\WritableInterface $container
* @return \Zapheus\Container\ContainerInterface
public function register(WritableInterface $container)
return self::merge($container, new RouteCollection);
}
* Merges two or more Routing\RouterInterface instances.
* @param \Zapheus\Routing\RouterInterface $router
* @return \Zapheus\Container\WritableInterface
public static function merge(WritableInterface $container, RouterInterface $router)
if ($container->has(self::COMPOSITE)) {
$composite = $container->get(self::COMPOSITE);
$composite->merge($router);
} else {
$composite = (new CompositeRouter)->merge($router);
return $container->set(self::COMPOSITE, $composite);