コード例 #1
0
 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;
 }
コード例 #2
0
 /**
  * データを送信する
  *
  * @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;
     }
 }