本文整理汇总了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;
}