Sitemap/Urlset.php
public function addUrl(Url $url)
    {
        if ($this->isFull()) {
            throw new \RuntimeException('The urlset limit has been exceeded');
        }

        $urlXml = $url->toXml();
        $this->appendXML($urlXml);

        //add unknown custom namespaces
        $this->customNamespaces = array_merge($this->customNamespaces, $url->getCustomNamespaces());

        //---------------------
        //Check limits
        if ($this->countItems++ >= self::LIMIT_ITEMS) {
            $this->limitItemsReached = true;
        }

        $urlLength = strlen($urlXml);
        $this->countBytes += $urlLength;

        if ($this->countBytes + $urlLength + strlen($this->getStructureXml()) > self::LIMIT_BYTES) {
            //we suppose the next url is almost the same length and cannot be added
            //plus we keep 500kB (@see self::LIMIT_BYTES)
            //... beware of numerous images set in url
            $this->limitBytesReached = true;
        }
        //---------------------
    }
public function addUrl(Url $url)
    {
        if ($this->isFull()) {
            throw new \RuntimeException('The urlset limit has been exceeded');
        }

        $urlXml = $url->toXml();
        $this->appendXML($urlXml);

        //add unknown custom namespaces
        $this->customNamespaces = array_merge($this->customNamespaces, $url->getCustomNamespaces());

        //---------------------
        //Check limits
        if ($this->countItems++ >= self::LIMIT_ITEMS) {
            $this->limitItemsReached = true;
        }

        $urlLength = strlen($urlXml);
        $this->countBytes += $urlLength;

        if ($this->countBytes + $urlLength + strlen($this->getStructureXml()) > self::LIMIT_BYTES) {
            //we suppose the next url is almost the same length and cannot be added
            //plus we keep 500kB (@see self::LIMIT_BYTES)
            //... beware of numerous images set in url
            $this->limitBytesReached = true;
        }
        //---------------------
    }
public function addUrl ( Url $ url ) { if ( $ this -> isFull ( ) ) { throw new \ RuntimeException ( 'The urlset limit has been exceeded' ) ; } $ urlXml = $ url -> toXml ( ) ; $ this -> appendXML ( $ urlXml ) ; //add unknown custom namespaces $ this -> customNamespaces = array_merge ( $ this -> customNamespaces , $ url -> getCustomNamespaces ( ) ) ; //--------------------- //Check limits if ( $ this -> countItems ++ >= self :: LIMIT_ITEMS ) { $ this -> limitItemsReached = true ; } $ urlLength = strlen ( $ urlXml ) ; $ this -> countBytes += $ urlLength ; if ( $ this -> countBytes + $ urlLength + strlen ( $ this -> getStructureXml ( ) ) > self :: LIMIT_BYTES ) { //we suppose the next url is almost the same length and cannot be added //plus we keep 500kB (@see self::LIMIT_BYTES) //... beware of numerous images set in url $ this -> limitBytesReached = true ; } //--------------------- }
add url to pool and check limits

@param Url $url

@throws \RuntimeException
add url to pool and check limits