original_string: 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);
      }
code: 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);
      }
code_tokens: 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 ) ; }
docstring: Generates URL for specified page. Useful for building links on pages or emails. Returns URL object.
  
  @param mixed $page
  @param array $arguments
  
  @return URL
docstring_tokens: Generates URL for specified page . Useful for building links on pages or emails . Returns URL object .