本文整理汇总了PHP中Symfony\CS\Tokenizer\Tokens::getImportUseIndexes方法的典型用法代码示例。如果您正苦于以下问题:PHP Tokens::getImportUseIndexes方法的具体用法?PHP Tokens::getImportUseIndexes怎么用?PHP Tokens::getImportUseIndexes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Symfony\CS\Tokenizer\Tokens
的用法示例。
在下文中一共展示了Tokens::getImportUseIndexes方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: storeImports
/**
* @param Tokens $tokens
*/
private function storeImports(Tokens $tokens, $startIndex, $endIndex)
{
$this->imports = array();
foreach ($tokens->getImportUseIndexes() as $index) {
if ($index < $startIndex || $index > $endIndex) {
continue;
}
$import = '';
while ($index = $tokens->getNextMeaningfulToken($index)) {
if ($tokens[$index]->equalsAny(array(';', '{')) || $tokens[$index]->isGivenKind(T_AS)) {
break;
}
$import .= $tokens[$index]->getContent();
}
// Imports group (PHP 7 spec)
if ($tokens[$index]->equals('{')) {
$groupEndIndex = $tokens->findBlockEnd(Tokens::BLOCK_TYPE_CURLY_BRACE, $index);
$groupImports = array_map('trim', explode(',', $tokens->generatePartialCode($index + 1, $groupEndIndex - 1)));
foreach ($groupImports as $groupImport) {
$groupImportParts = array_map('trim', explode(' as ', $groupImport));
if (2 === count($groupImportParts)) {
$this->imports[$groupImportParts[1]] = $import . $groupImportParts[0];
} else {
$this->imports[] = $import . $groupImport;
}
}
} elseif ($tokens[$index]->isGivenKind(T_AS)) {
$aliasIndex = $tokens->getNextMeaningfulToken($index);
$alias = $tokens[$aliasIndex]->getContent();
$this->imports[$alias] = $import;
} else {
$this->imports[] = $import;
}
}
}
示例2: removeLineBreaksBetweenUseStatements
private function removeLineBreaksBetweenUseStatements(Tokens $tokens)
{
$namespacesImports = $tokens->getImportUseIndexes(true);
if (!count($namespacesImports)) {
return;
}
foreach ($namespacesImports as $uses) {
$uses = array_reverse($uses);
$this->fixLineBreaksPerImportGroup($tokens, $uses);
}
}
示例3: extract
/**
* Copy/paste from a private method of Symfony\CS\Fixer\Symfony\UnusedUseFixer.
*
* @param Tokens $tokens
*
* @return array
*/
public function extract(Tokens $tokens)
{
$uses = array();
$useIndexes = $tokens->getImportUseIndexes();
foreach ($useIndexes as $index) {
$declarationEndIndex = $tokens->getNextTokenOfKind($index, array(';'));
$declarationContent = $tokens->generatePartialCode($index + 1, $declarationEndIndex - 1);
// ignore multiple use statements like: `use BarB, BarC as C, BarD;`
// that should be split into few separate statements
if (false !== strpos($declarationContent, ',')) {
continue;
}
$declarationParts = preg_split('/\\s+as\\s+/i', $declarationContent);
if (1 === count($declarationParts)) {
$fullName = $declarationContent;
} else {
$fullName = $declarationParts[0];
}
$uses[] = trim($fullName);
}
return $uses;
}