本文整理汇总了PHP中Zend\Code\Generator\FileGenerator::getNamespace方法的典型用法代码示例。如果您正苦于以下问题:PHP FileGenerator::getNamespace方法的具体用法?PHP FileGenerator::getNamespace怎么用?PHP FileGenerator::getNamespace使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend\Code\Generator\FileGenerator
的用法示例。
在下文中一共展示了FileGenerator::getNamespace方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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);
}