解释PHP中的STATIC AND INSTANCE方法。

在PHP中,实例方法比静态方法更可取。无论如何,并不是说静态方法无济于事,它们有一个独特的目的。在这里,我们讨论了PHP中静态方法与实例方法之间的比较。

在此请注意,实例方法始终连接到类的对象,而静态方法始终与类连接。

首先说说静态方法。PHP中的静态方法与其他面向对象的编程语言相同。在PHP中使用static方法的重要情况。仅在整个类的特定信息保持稳定时才需要使用static方法。本质上,在没有该类对象帮助的情况下访问该方法时,将使用静态方法。

示例

<?php
   class Car{
      static function getColor(){
         return "blue";
      }
   }
   echo (Car::getColor());
?>

输出:

blue

说明:

例如,在上述程序中,某些程序员正在制作有关汽车的信息,并且您拥有Car类并具有getColor()定义汽车颜色的函数,因此每个需要该getColor()函数的对象都需要为所有对象返回相似的颜色类汽车的对象,因此在这种情况下,我们可以将getColor()方法设为静态。

让我们讨论实例方法。如果无法在不创建对象的情况下调用该方法,则使用实例方法。同样,每次方法需要与类的属性进行交互时,我们都需要一个实例方法。

示例

让我们用一个例子展示上述情况:

<?php
   class Employee{
      private $empname;
      function setEmpname($empname) {
         $this->empname = $empname;
      }
      function getEmpname() {
         return $this -> empname;
      }
   }
   $obj = new Employee;
   $obj -> setEmpname("Alex");
   echo $obj -> getName();
?>

输出:

Alex

说明:

考虑一个Employee类,在其中setEmpname()读取employeename和getEmpname()方法,该方法返回Employee的名称。在这种情况下,每个雇员的姓名都不同,所以我们不能将getEmpname()setEmploye()方法声明为静态,因为每次这些方法与变量“ $empname”交互时,都不会将其声明为静态。