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);
    }
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);
    }
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 ) ; }
Search for unnecessary namespace imports and definitions and replace occurrences.

@param FileGenerator $fileGenerator
@return string Generated code
Search for unnecessary namespace imports and definitions and replace occurrences .