/** * Cache a file containing the dispatch list. * * Serializes the server definition stores the information * in $filename. * * Returns false on any error (typically, inability to write to file), true * on success. * * @param string $filename * @param \Zend\Server\Server $server * @return bool */ public static function save($filename, Server $server) { if (!is_string($filename) || (!file_exists($filename) && !is_writable(dirname($filename)))) { return false; } $methods = $server->getFunctions(); if ($methods instanceof Definition) { $definition = new Definition(); foreach ($methods as $method) { if (in_array($method->getName(), self::$_skipMethods)) { continue; } $definition->addMethod($method); } $methods = $definition; } if (0 === @file_put_contents($filename, serialize($methods))) { return false; } return true; }