public static function client($server_version, $server_hostname,
        $server_port, $server_uri, $changeSessionID = true
    ) {
        phpCAS :: traceBegin();
        if (is_object(self::$_PHPCAS_CLIENT)) {
            phpCAS :: error(self::$_PHPCAS_INIT_CALL['method'] . '() has already been called (at ' . self::$_PHPCAS_INIT_CALL['file'] . ':' . self::$_PHPCAS_INIT_CALL['line'] . ')');
        }

        // store where the initializer is called from
        $dbg = debug_backtrace();
        self::$_PHPCAS_INIT_CALL = array (
            'done' => true,
            'file' => $dbg[0]['file'],
            'line' => $dbg[0]['line'],
            'method' => __CLASS__ . '::' . __FUNCTION__
        );

        // initialize the object $_PHPCAS_CLIENT
        try {
            self::$_PHPCAS_CLIENT = new CAS_Client(
                $server_version, false, $server_hostname, $server_port, $server_uri,
                $changeSessionID
            );
        } catch (Exception $e) {
            phpCAS :: error(get_class($e) . ': ' . $e->getMessage());
        }
        phpCAS :: traceEnd();
    }
public static function client($server_version, $server_hostname,
        $server_port, $server_uri, $changeSessionID = true
    ) {
        phpCAS :: traceBegin();
        if (is_object(self::$_PHPCAS_CLIENT)) {
            phpCAS :: error(self::$_PHPCAS_INIT_CALL['method'] . '() has already been called (at ' . self::$_PHPCAS_INIT_CALL['file'] . ':' . self::$_PHPCAS_INIT_CALL['line'] . ')');
        }

        // store where the initializer is called from
        $dbg = debug_backtrace();
        self::$_PHPCAS_INIT_CALL = array (
            'done' => true,
            'file' => $dbg[0]['file'],
            'line' => $dbg[0]['line'],
            'method' => __CLASS__ . '::' . __FUNCTION__
        );

        // initialize the object $_PHPCAS_CLIENT
        try {
            self::$_PHPCAS_CLIENT = new CAS_Client(
                $server_version, false, $server_hostname, $server_port, $server_uri,
                $changeSessionID
            );
        } catch (Exception $e) {
            phpCAS :: error(get_class($e) . ': ' . $e->getMessage());
        }
        phpCAS :: traceEnd();
    }
public static function client ( $ server_version , $ server_hostname , $ server_port , $ server_uri , $ changeSessionID = true ) { phpCAS :: traceBegin ( ) ; if ( is_object ( self :: $ _PHPCAS_CLIENT ) ) { phpCAS :: error ( self :: $ _PHPCAS_INIT_CALL [ 'method' ] . '() has already been called (at ' . self :: $ _PHPCAS_INIT_CALL [ 'file' ] . ':' . self :: $ _PHPCAS_INIT_CALL [ 'line' ] . ')' ) ; } // store where the initializer is called from $ dbg = debug_backtrace ( ) ; self :: $ _PHPCAS_INIT_CALL = array ( 'done' => true , 'file' => $ dbg [ 0 ] [ 'file' ] , 'line' => $ dbg [ 0 ] [ 'line' ] , 'method' => __CLASS__ . '::' . __FUNCTION__ ) ; // initialize the object $_PHPCAS_CLIENT try { self :: $ _PHPCAS_CLIENT = new CAS_Client ( $ server_version , false , $ server_hostname , $ server_port , $ server_uri , $ changeSessionID ) ; } catch ( Exception $ e ) { phpCAS :: error ( get_class ( $ e ) . ': ' . $ e -> getMessage ( ) ) ; } phpCAS :: traceEnd ( ) ; }
phpCAS client initializer.

@param string $server_version  the version of the CAS server
@param string $server_hostname the hostname of the CAS server
@param string $server_port     the port the CAS server is running on
@param string $server_uri      the URI the CAS server is responding on
@param bool   $changeSessionID Allow phpCAS to change the session_id (Single
Sign Out/handleLogoutRequests is based on that change)

@return a newly created CAS_Client object
@note Only one of the phpCAS::client() and phpCAS::proxy functions should be
called, only once, and before all other methods (except phpCAS::getVersion()
and phpCAS::setDebug()).
phpCAS client initializer .