public static function url()
    {
        if (! isset(self::$_url)) {
            $url = self::scheme().'://';

            if (PHP_SAPI !== 'cli') {
                /*
            	 * Since we are assigning the URI from the server variables, we first need
             	 * to determine if we are running on apache or IIS.  If PHP_SELF and REQUEST_URI
             	 * are present, we will assume we are running on apache.
             	 */
                if (! empty($_SERVER['PHP_SELF']) && !empty($_SERVER['REQUEST_URI'])) {
                    /*
                 	 * To build the entire URI we need to prepend the protocol, and the http host
                 	 * to the URI string.
                 	 */
                    $url .= $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];

                    /*
                 	 * Since we do not have REQUEST_URI to work with, we will assume we are
                 	 * running on IIS and will therefore need to work some magic with the SCRIPT_NAME and
                 	 * QUERY_STRING environment variables.
                 	 */
                } else {
                    // IIS uses the SCRIPT_NAME variable instead of a REQUEST_URI variable
                    $url .= $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME'];

                    // If the query string exists append it to the URI string
                    if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) {
                        $url .= '?' . $_SERVER['QUERY_STRING'];
                    }
                }
            } else {
                $url .= 'anahita';
            }

            // Sanitize the url since we can't trust the server var
            $url = AnService::get('anahita:filter.url')->sanitize($url);

            // Create the URI object
            self::$_url = AnService::get('anahita:http.url', array('url' => $url));
        }

        return self::$_url;
    }
public static function url()
    {
        if (! isset(self::$_url)) {
            $url = self::scheme().'://';

            if (PHP_SAPI !== 'cli') {
                /*
            	 * Since we are assigning the URI from the server variables, we first need
             	 * to determine if we are running on apache or IIS.  If PHP_SELF and REQUEST_URI
             	 * are present, we will assume we are running on apache.
             	 */
                if (! empty($_SERVER['PHP_SELF']) && !empty($_SERVER['REQUEST_URI'])) {
                    /*
                 	 * To build the entire URI we need to prepend the protocol, and the http host
                 	 * to the URI string.
                 	 */
                    $url .= $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];

                    /*
                 	 * Since we do not have REQUEST_URI to work with, we will assume we are
                 	 * running on IIS and will therefore need to work some magic with the SCRIPT_NAME and
                 	 * QUERY_STRING environment variables.
                 	 */
                } else {
                    // IIS uses the SCRIPT_NAME variable instead of a REQUEST_URI variable
                    $url .= $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME'];

                    // If the query string exists append it to the URI string
                    if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) {
                        $url .= '?' . $_SERVER['QUERY_STRING'];
                    }
                }
            } else {
                $url .= 'anahita';
            }

            // Sanitize the url since we can't trust the server var
            $url = AnService::get('anahita:filter.url')->sanitize($url);

            // Create the URI object
            self::$_url = AnService::get('anahita:http.url', array('url' => $url));
        }

        return self::$_url;
    }
public static function url ( ) { if ( ! isset ( self :: $ _url ) ) { $ url = self :: scheme ( ) . '://' ; if ( PHP_SAPI !== 'cli' ) { /*
            	 * Since we are assigning the URI from the server variables, we first need
             	 * to determine if we are running on apache or IIS.  If PHP_SELF and REQUEST_URI
             	 * are present, we will assume we are running on apache.
             	 */ if ( ! empty ( $ _SERVER [ 'PHP_SELF' ] ) && ! empty ( $ _SERVER [ 'REQUEST_URI' ] ) ) { /*
                 	 * To build the entire URI we need to prepend the protocol, and the http host
                 	 * to the URI string.
                 	 */ $ url .= $ _SERVER [ 'HTTP_HOST' ] . $ _SERVER [ 'REQUEST_URI' ] ; /*
                 	 * Since we do not have REQUEST_URI to work with, we will assume we are
                 	 * running on IIS and will therefore need to work some magic with the SCRIPT_NAME and
                 	 * QUERY_STRING environment variables.
                 	 */ } else { // IIS uses the SCRIPT_NAME variable instead of a REQUEST_URI variable $ url .= $ _SERVER [ 'HTTP_HOST' ] . $ _SERVER [ 'SCRIPT_NAME' ] ; // If the query string exists append it to the URI string if ( isset ( $ _SERVER [ 'QUERY_STRING' ] ) && ! empty ( $ _SERVER [ 'QUERY_STRING' ] ) ) { $ url .= '?' . $ _SERVER [ 'QUERY_STRING' ] ; } } } else { $ url .= 'anahita' ; } // Sanitize the url since we can't trust the server var $ url = AnService :: get ( 'anahita:filter.url' ) -> sanitize ( $ url ) ; // Create the URI object self :: $ _url = AnService :: get ( 'anahita:http.url' , array ( 'url' => $ url ) ) ; } return self :: $ _url ; }
Return the URI of the request regardless of the server

@return  AnHttpUrl    A AnHttpUri object
Return the URI of the request regardless of the server