什么" ::"语法意思?

时间:2011-12-28 14:44:47

标签: php fuelphp

  

可能重复:
  Reference - What does this symbol mean in PHP?

在PHP中::是什么意思? e.g

Pagination::set_config($config);

是否类似于=>

4 个答案:

答案 0 :(得分:5)

它被称为范围解析运算符。

http://php.net/manual/en/keyword.paamayim-nekudotayim.php

答案 1 :(得分:4)

在PHP中,它是Scope Resolution Operator。它用于访问未启动类的方法和属性。明确用于此表示法的方法称为静态方法

此外,您可以使用此表示法相对遍历扩展类(从您所在的位置)。例如:

class betterClass extends basicClass {
    protected function doTheMagic() {
       $result = parent::doTheMagic();
       echo "this will output the result: " . $result;
       return $result;
    }
}

在此示例中,doTheMagic方法会覆盖其父级的现有方法,但使用parent::doTheMagic();时,可以调用原始方法。

答案 2 :(得分:1)

此“::” - 语法称为范围解析运算符

它用于引用基类中的函数和变量或尚未有任何实例的类。

来自php.net的例子:

<?php
class A {
    function example() {
        echo "I am the original function A::example().<br />\n";
    }
}

class B extends A {
    function example() {
        echo "I am the redefined function B::example().<br />\n";
        A::example();
    }
}

// there is no object of class A.
// this will print
//   I am the original function A::example().<br />
A::example();

// create an object of class B.
$b = new B;

// this will print 
//   I am the redefined function B::example().<br />
//   I am the original function A::example().<br />
$b->example();
?>

请阅读示例中的注释。有关更多信息,请转到the php.net article

答案 3 :(得分:0)

::范围解析运算符(最初在C ++中命名)表示您将set_config($config)方法与类Pagination相关联。它是一个静态方法,静态方法无法通过它的类的对象访问,因为它们与它们的类相关联,而不是与该类的对象相关联。

Pagination::set_config($config);

符号 - &gt;用于访问实例成员。符号=>与PHP中的关联数组一起使用,以访问这些数组的成员。