PHP使用类

时间:2011-06-11 12:21:57

标签: php

  

可能重复:
  Reference - What does this symbol mean in PHP?
  PHP: Static and non Static functions and Objects
  In PHP, whats the difference between :: and -> ?

我已经看到了在PHP中使用类的不同方法,例如。

$myclass->method()

MyClass::method()

有什么区别?

3 个答案:

答案 0 :(得分:2)

在您的示例中,$ myclass似乎是MyClass类的一个实例,您正在调用实例方法。实例方法是从类的实例调用的。

在第二个示例中,方法似乎是类的static方法。在类级别调用静态方法,不需要实例。

答案 1 :(得分:1)

第一个是从对象调用方法,所以你可以完成$myclass = new MyClass(),构造函数(__construct())被调用等等。

第二个是静态调用:没有对象被实例化,并且它不能使用$this引用。静态变量在整个地方都是相同的,而非静态变量是特定于它们所在的对象。

虽然问题已经结束,但您可以在此处找到有关静态的一些好消息:https://stackoverflow.com/questions/3090994/what-does-the-static-keyword-mean-in-oop

答案 2 :(得分:0)

为了能够使用$myclass->method(),您首先必须创建该类的实例。

$myclass = new myClass();

第二个用于访问moethod而不先创建实例。