當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。