Page Menu
Home
WMGMC Issues
搜索
Configure Global Search
登录
Files
F16122
UseTokenParser.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
订阅
标记用于日后
授予令牌
Size
1 KB
Referenced Files
None
订阅者
None
UseTokenParser.php
View Options
<?php
/*
* This file is part of Twig.
*
* (c) Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace
Twig\TokenParser
;
use
Twig\Error\SyntaxError
;
use
Twig\Node\Expression\ConstantExpression
;
use
Twig\Node\Node
;
use
Twig\Token
;
/**
* Imports blocks defined in another template into the current template.
*
* {% extends "base.html" %}
*
* {% use "blocks.html" %}
*
* {% block title %}{% endblock %}
* {% block content %}{% endblock %}
*
* @see https://twig.symfony.com/doc/templates.html#horizontal-reuse for details.
*
* @internal
*/
final
class
UseTokenParser
extends
AbstractTokenParser
{
public
function
parse
(
Token
$token
):
Node
{
$template
=
$this
->
parser
->
getExpressionParser
()->
parseExpression
();
$stream
=
$this
->
parser
->
getStream
();
if
(!
$template
instanceof
ConstantExpression
)
{
throw
new
SyntaxError
(
'The template references in a "use" statement must be a string.'
,
$stream
->
getCurrent
()->
getLine
(),
$stream
->
getSourceContext
());
}
$targets
=
[];
if
(
$stream
->
nextIf
(
'with'
))
{
while
(
true
)
{
$name
=
$stream
->
expect
(
Token
::
NAME_TYPE
)->
getValue
();
$alias
=
$name
;
if
(
$stream
->
nextIf
(
'as'
))
{
$alias
=
$stream
->
expect
(
Token
::
NAME_TYPE
)->
getValue
();
}
$targets
[
$name
]
=
new
ConstantExpression
(
$alias
,
-
1
);
if
(!
$stream
->
nextIf
(
Token
::
PUNCTUATION_TYPE
,
','
))
{
break
;
}
}
}
$stream
->
expect
(
Token
::
BLOCK_END_TYPE
);
$this
->
parser
->
addTrait
(
new
Node
([
'template'
=>
$template
,
'targets'
=>
new
Node
(
$targets
)]));
return
new
Node
([],
[],
$token
->
getLine
());
}
public
function
getTag
():
string
{
return
'use'
;
}
}
File Metadata
详情
附加的
Mime Type
text/x-php
Expires
9月 11 Thu, 1:47 PM (22 h, 29 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5592
默认替代文本
UseTokenParser.php (1 KB)
Attached To
Mode
rMAILCOW mailcow-tracking
附加的
Detach File
Event Timeline
Log In to Comment