PHP对象调用语法

时间:2012-03-15 16:48:21

标签: php

给出一段代码如:

{$globalScript->qtip(active_page::getCurrentPageName()=='factsheet','../')}

PHP 5中“ - >”之间的用法有何不同?和“::”?

3 个答案:

答案 0 :(得分:5)

->调用实例(对象)方法,::调用类方法,该方法使用关键字static定义。

您可以在此处详细了解:http://php.net/manual/en/language.oop5.php,尤其是:http://www.php.net/manual/en/language.oop5.paamayim-nekudotayim.php

答案 1 :(得分:2)

->中,您正在调用对象实例中的公共方法

并在::中调用静态方法

例如:

Class MyClass {
    public function doStuff(){
        // stuff
    }

    public static function doStaticStuff (){
       // other stuff
    }
}

$obj = new MyClass();
$obj->doStuff(); // works


// in static you dont need to creat a new object
MyClass::doStaticStuff();

MyClass::doStuff(); // will fail here

// but you can also call the static method on an existing object
$obj::doStaticStuff();

答案 2 :(得分:1)

->用于对象实例,其中::用于类方法。

基本上,::用于static方法和属性。