protected static function getDOM(Document $document) { if (isset(self::$domCache[$document->url])) { return self::$domCache[$document->url]; } $dom = new DOMDocument(); $dom->preserveWhiteSpace = false; ErrorHandler::suppress(); $dom->loadHTML($document->content); ErrorHandler::restore(); if (count(self::$domCache) > 20) { self::$domCache = []; } self::$domCache[$document->url] = $dom; return $dom; }
/** * データを送信する * * @param string $data * * @throws TransportException */ public function send($data) { ASSERT(' is_resource($this->_stream) '); ASSERT(' is_string($data) '); $handler = new ErrorHandler(); try { $pos = 0; $len = strlen($data); while ($pos < $len) { $n = fwrite($this->_stream, substr($data, $pos)); if ($n == 0) { // @codeCoverageIgnoreStart throw new TransportException("fwrite(): unknown error"); // @codeCoverageIgnoreEnd } $pos += $n; } $handler->restore(); } catch (\Exception $ex) { $handler->restore(); throw $ex; } }