本文整理匯總了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);
}