本文整理匯總了PHP中Zend\Code\Generator\FileGenerator::getUses方法的典型用法代碼示例。如果您正苦於以下問題:PHP FileGenerator::getUses方法的具體用法?PHP FileGenerator::getUses怎麽用?PHP FileGenerator::getUses使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Zend\Code\Generator\FileGenerator
的用法示例。
在下文中一共展示了FileGenerator::getUses方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: replaceNamespace
/**
* Search for unnecessary namespace imports and definitions and replace occurrences.
*
* @param FileGenerator $fileGenerator
* @return string Generated code
*/
public function replaceNamespace(FileGenerator $fileGenerator)
{
$uses = [];
$search = [];
$replace = [];
foreach ($fileGenerator->getUses() as $import) {
$namespace = trim(substr($import[0], 0, strrpos($import[0], '\\')), '\\');
if ($fileGenerator->getNamespace() !== $namespace) {
$uses[] = $import;
}
$name = trim(substr($import[0], strrpos($import[0], '\\')), '\\');
$search[] = '\\' . $import[0];
$search[] = ', \\' . $import[0];
$replace[] = $name;
$replace[] = ', ' . $name;
}
// workaround to reset use imports
$reflection = new \ReflectionClass($fileGenerator);
$property = $reflection->getProperty('uses');
$property->setAccessible(true);
$property->setValue($fileGenerator, $uses);
$code = $fileGenerator->generate();
return str_replace($search, $replace, $code);
}
示例2: testSetUsesWithGetUses
public function testSetUsesWithGetUses()
{
$file = new FileGenerator();
$uses = array('Your\\Bar', 'My\\Baz', array('use' => 'Another\\Baz', 'as' => 'Baz2'));
$file->setUses($uses);
$file->setUses($file->getUses());
$generated = $file->generate();
$this->assertContains('use My\\Baz;', $generated);
$this->assertContains('use Your\\Bar;', $generated);
$this->assertContains('use Another\\Baz as Baz2;', $generated);
}
示例3: removeUseFunctionsFromBackslashing
/**
* If a method exists under a namespace and has been aliased, or has been imported, don't replace.
*
* @param FileGenerator $generator
* @param array $functions
*
* @return array
*/
private function removeUseFunctionsFromBackslashing(FileGenerator $generator, array $functions)
{
foreach ($generator->getUses() as $namespacedFunction) {
list($functionOrClass) = $namespacedFunction;
if (\function_exists($functionOrClass)) {
$function = \explode("\\", $functionOrClass);
$function = \array_pop($function);
if (!empty($functions[$function])) {
unset($functions[$function]);
}
}
}
return $functions;
}