public function url($page = null, $arguments = array())
    {
        if (is_object($page) && $page instanceof URL) {
            // we receive URL
            return $page->setArguments($arguments);
        }
        if (is_array($page)) {
            $p = $page[0];
            unset($page[0]);
            $arguments = $page;
            $page = $p;
        }
        /** @type URL $url */
        $url = $this->add('URL');
        unset($this->elements[$url->short_name]); // garbage collect URLs
        if (strpos($page, 'http://') === 0 || strpos($page, 'https://') === 0) {
            $url->setURL($page);
        } else {
            $url->setPage($page);
        }

        return $url->setArguments($arguments);
    }
public function url($page = null, $arguments = array())
    {
        if (is_object($page) && $page instanceof URL) {
            // we receive URL
            return $page->setArguments($arguments);
        }
        if (is_array($page)) {
            $p = $page[0];
            unset($page[0]);
            $arguments = $page;
            $page = $p;
        }
        /** @type URL $url */
        $url = $this->add('URL');
        unset($this->elements[$url->short_name]); // garbage collect URLs
        if (strpos($page, 'http://') === 0 || strpos($page, 'https://') === 0) {
            $url->setURL($page);
        } else {
            $url->setPage($page);
        }

        return $url->setArguments($arguments);
    }
public function url ( $ page = null , $ arguments = array ( ) ) { if ( is_object ( $ page ) && $ page instanceof URL ) { // we receive URL return $ page -> setArguments ( $ arguments ) ; } if ( is_array ( $ page ) ) { $ p = $ page [ 0 ] ; unset ( $ page [ 0 ] ) ; $ arguments = $ page ; $ page = $ p ; } /** @type URL $url */ $ url = $ this -> add ( 'URL' ) ; unset ( $ this -> elements [ $ url -> short_name ] ) ; // garbage collect URLs if ( strpos ( $ page , 'http://' ) === 0 || strpos ( $ page , 'https://' ) === 0 ) { $ url -> setURL ( $ page ) ; } else { $ url -> setPage ( $ page ) ; } return $ url -> setArguments ( $ arguments ) ; }
Generates URL for specified page. Useful for building links on pages or emails. Returns URL object.

@param mixed $page
@param array $arguments

@return URL
Generates URL for specified page . Useful for building links on pages or emails . Returns URL object .