diff -r 000000000000 -r 7f95f8617b0b vendor/symfony/src/Symfony/Component/Templating/TemplateNameParser.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/symfony/src/Symfony/Component/Templating/TemplateNameParser.php Sat Sep 24 15:40:41 2011 +0200 @@ -0,0 +1,51 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Templating; + +use Symfony\Component\Templating\TemplateReferenceInterface; +use Symfony\Component\Templating\TemplateReference; + +/** + * 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); + } +}