簡體   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