当前位置: 首页>>代码示例>>PHP>>正文


PHP Token::splitContents方法代码示例

本文整理汇总了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);
}
开发者ID:idlesign,项目名称:dja,代码行数:26,代码来源:defaulttags.php

示例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_);
 }
开发者ID:idlesign,项目名称:dja,代码行数:26,代码来源:base.php

示例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);
 }
开发者ID:idlesign,项目名称:dja,代码行数:7,代码来源:tests.php


注:本文中的Token::splitContents方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。