<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Routing\Loader;
use Symfony\Component\Config\Loader\Loader;
use Symfony\Component\Routing\RouteCollection;
/**
* ClosureLoader loads routes from a PHP closure.
* The Closure must return a RouteCollection instance.
* @author Fabien Potencier <fabien@symfony.com>
* @api
class ClosureLoader extends Loader
{
* Loads a Closure.
* @param \Closure $closure A Closure
* @param string|null $type The resource type
* @return RouteCollection A RouteCollection instance
public function load($closure, $type = null)
return call_user_func($closure);
}
* {@inheritdoc}
public function supports($resource, $type = null)
return $resource instanceof \Closure && (!$type || 'closure' === $type);