* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Templating; /** * TemplateNameParser is the default implementation of TemplateNameParserInterface. * * This implementation takes everything as the template name * and the extension for the engine. * * @author Fabien Potencier * * @api */ class TemplateNameParser implements TemplateNameParserInterface { /** * Parses a template to an array of parameters. * * @param string $name A template name * * @return TemplateReferenceInterface A template * * @api */ public function parse($name) { if ($name instanceof TemplateReferenceInterface) { return $name; } $engine = null; if (false !== $pos = strrpos($name, '.')) { $engine = substr($name, $pos + 1); } return new TemplateReference($name, $engine); } }