Doctrine\ODM\CouchDB\Proxy\ProxyFactory::generateProxyClass PHP Method

generateProxyClass() private method

Generates a proxy class file.
private generateProxyClass ( $class, $fileName, $template )
$class
$fileName
$template
    private function generateProxyClass($class, $fileName, $template)
    {
        $methods = $this->generateMethods($class);
        $sleepImpl = $this->generateSleep($class);
        $placeholders = array('<namespace>', '<proxyClassName>', '<className>', '<methods>', '<sleepImpl>');
        $className = ltrim($class->name, '\\');
        $proxyClassName = ClassUtils::generateProxyClassName($class->name, $this->proxyNamespace);
        $parts = explode('\\', strrev($proxyClassName), 2);
        $proxyClassNamespace = strrev($parts[1]);
        $proxyClassName = strrev($parts[0]);
        $replacements = array($proxyClassNamespace, $proxyClassName, $className, $methods, $sleepImpl);
        $template = str_replace($placeholders, $replacements, $template);
        file_put_contents($fileName, $template, LOCK_EX);
    }