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);
}