在PHP中调用类方法

时间:2015-01-16 05:49:37

标签: php

何时直接调用class方法?

<?php
Class::method();
?>

何时在对象实例化后调用类方法?

<?php
$object = new Class();
$object->method();
?>

两者之间有什么区别?

3 个答案:

答案 0 :(得分:1)

定义为static的方法将直接调用这些方法。 就像function1是静态的那样,它将被称为

A::function1();

class A
{
 public static function function1()
  {
    $a = "Hi";
    return $a;
}

 public function function2()
 {
   $a = "Hi";
   return $a;
}

}

第二种方法不是静态的,它将在A类的对象上调用,如下所示

$object = new A();

$object->function2();

答案 1 :(得分:0)

::范围解析运算符,用于不带对象的直接调用静态类方法

Class::method();

您可以在此方法中使用类变量$this->...

$object = new Class(); new是类的创建对象,您也可以使用object中的类变量 以简单的方式,对象是类的实例。

答案 2 :(得分:0)

如果您正在使任何类函数静态,那么您可以使用范围解析运算符来访问,如第一种情况。如果是静态函数$this在函数内部不可用。

<?php
      class Product
      {

        public static function method()  //static function
        {
            echo "static function" ;
        }
      }

      Product::method();   // we can make direct call
    ?>

而在第二种情况下,对象被创建,我们正在通过对象访问类方法。

$object = new Class();
$object->method();