本文整理汇总了PHP中Token::splitContents方法的典型用法代码示例。如果您正苦于以下问题:PHP Token::splitContents方法的具体用法?PHP Token::splitContents怎么用?PHP Token::splitContents使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Token
的用法示例。
在下文中一共展示了Token::splitContents方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: do_ifequal
/**
* @param Parser $parser
* @param Token $token
* @param bool $negate
* @return IfEqualNode
* @throws TemplateSyntaxError
*/
function do_ifequal($parser, $token, $negate)
{
$bits = $token->splitContents();
if (count($bits) != 3) {
throw new TemplateSyntaxError($bits[0] . ' takes two arguments');
}
$end_tag = 'end' . $bits[0];
$nodelist_true = $parser->parse(array('else', $end_tag));
$token = $parser->nextToken();
if ($token->contents == 'else') {
$nodelist_false = $parser->parse(array($end_tag));
$parser->deleteFirstToken();
} else {
$nodelist_false = new NodeList();
}
$val1 = $parser->compileFilter($bits[1]);
$val2 = $parser->compileFilter($bits[2]);
return new IfEqualNode($val1, $val2, $nodelist_true, $nodelist_false, $negate);
}
示例2: genericTagCompiler
/**
* Returns a template.Node subclass.
*
* @static
*
* @param Parser $parser
* @param Token $token
* @param array $params
* @param null $varargs
* @param null $varkw
* @param array $defaults
* @param string $name
* @param bool|null $takes_context
* @param string $node_class
* @param array $node_opts_
*
* @return Node|object
*/
public static function genericTagCompiler($parser, $token, $params, $varargs, $varkw, $defaults, $name, $takes_context, $node_class, $node_opts_)
{
$bits = py_slice($token->splitContents(), 1);
list($args, $kwargs) = DjaBase::parseBits($parser, $bits, $params, $varargs, $varkw, $defaults, $takes_context, $name);
py_arr_insert($args, 0, $takes_context);
/** @var $node_class Node */
return $node_class::spawn_($args, $node_opts_);
}
示例3: testTokenSmartSplit
public function testTokenSmartSplit()
{
// Regression test for #7027
$token = new Token(DjaBase::TOKEN_BLOCK, 'sometag _("Page not found") value|yesno:_("yes,no")');
$split = $token->splitContents();
$this->assertEquals(array("sometag", '_("Page not found")', 'value|yesno:_("yes,no")'), $split);
}