我是php开发类概念的新手,我在类文件中调用一个方法,如
**ClassName::method_name();**
像这样,但它不起作用,并得到一个错误。当我创建该类的对象时,如**$object = new ClassName();**
并通过此函数调用该方法
**$object->method_name();**
它工作正常。
我无法理解这个伎俩。
任何人都可以清楚我的困惑吗? 谢谢,biswajitGhosh
答案 0 :(得分:2)
::
运算符用于访问静态方法和属性,->
运算符用于访问类实例的方法和属性。
静态方法或属性是属于类本身的方法或属性,无论您创建的类的实例数是多少,都不会更改。
实例方法或属性仅应用于类的特定实例,并且一个实例中的更改不会影响另一个实例。
答案 1 :(得分:1)
如果要使用::
表示法,则需要将方法定义为静态。
class ClassName {
public static function method_name() {
...
}
}
现在您可以致电ClassName::method_name();