简体   繁体   中英

php OOP - call static method from another class within class

I have the following class to another class in my main class.

class Products 
{
    public function __get( $key ){
        return trim(functions::mssql_escape_string_rev($this->fields[ $key ]));
    }
}

This beings back error: Call to undefined method functions::mssql_escape_string_rev()

Is there something wrong with my syntax or can this not be done?

Below is code used to autoload classes, this works for everything else so I know there is nothign wrong with the code. It just doesnt seem to initiate within the class.

// autoloader function called when we try to instantiate a class but haven't included the file
function __autoload($resource_name){

    $resource_name = trim($resource_name);

    try { 

        $filepath = CLASS_PATH."/class.".$resource_name.".inc.php";

        if(@!include($filepath)){

            throw new Exception('');
        }

    } catch(Exception $e) {

        exit("Could not find the required file: ".$resource_name);

    }
}

** * **** EDIT * **** Please ignore this, I made a stupid mistake and included the functions::mssql_escape_string_rev twice. Sorry for timewasting..

As the error says the problem is that functions::mssql_escape_string_rev() is not defined.

Since we can't see what you think is the definition we can not really help you.

For me it looks like the call should be Functions::mysql_escape_string_rev() with capital F and mysql .

Update

Calling static functions from another class works normally: http://codepad.org/wrfm5X7j

Maybe you are calling mysql_escape_string_rev before you included the functions class.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM