繁体   English   中英

检查字符串是否具有有效的Twig语法

[英]Check if string has valid Twig syntax

很简单,在Symfony2应用程序的服务类函数内部,我想检查作为参数传递的给定字符串是否具有有效的Twig语法...

public function checkIfValidTwig($twigString)
{
    $isValid = false;
    $isValid = someWay->toCheckIf()->itIsValid($twigString);
    return $isValid;
}

任何想法?

您可以使用Twig_Environment::tokenize() ,如果无法解析Twig代码,则会抛出异常Twig_Error_Syntax - http: Twig_Error_Syntax

class TwigValidator
{
    /**
     * @var \Twig_Environment
     */
    private $twig;

    /**
     * @param \Twig_Environment $twig
     */
    public function __construct(\Twig_Environment $twig)
    {
        $this->twig = $twig;
    }

    /**
     * @param string $twigString
     *
     * @return boolean
     */
    public function checkIfValidTwig($twigString)
    {
        try {
            $this->twig->tokenize($twigString);

            return true;
        } catch (\Twig_Error_Syntax $e) {

            return false;
        }
    }
}

您需要创建Constraint类,所幸的是,这里有针对您的问题描述的确切过程:

http://labs.octivi.com/validation-constraint-for-twig-template-syntax/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM