PHP - بیشتر در مورد روش های استاتیک(PHP - More on Static Methods)

یک کلاس می‌تواند هم متدهای ثابت و هم غیراستاتیک داشته باشد. یک روش استاتیک می تواند باشد
از روشی در همان کلاس با استفاده از self قابل دسترسی است.
کلمه کلیدی و دو نقطه (::):



مثال



<?php
class greeting {
  public static function welcome() {
   
echo "Hello World!";
  }

  public function __construct()
{
    self::welcome();
  }
}

new
greeting();
?>




متدهای استاتیک را می توان از متدهای کلاس های دیگر نیز فراخوانی کرد. برای انجام این،
روش استاتیک باید عمومی باشد:



مثال



<?php
class
greeting {
  public static function
welcome() {
    echo "Hello World!";
  }
}


class
SomeOtherClass {
  public function
message() {
   
greeting::welcome();
  }
}
?>




برای فراخوانی یک متد استاتیک از یک کلاس فرزند، از والد استفاده کنید
کلمه کلیدی در کلاس کودک در اینجا، روش استاتیک می تواند عمومی باشد
یا محافظت شده.



مثال



<?php
class domain {
  protected static function
getWebsiteName() {
    return "W3Schools.com";
  }

}

class domainW3 extends domain {
  public $websiteName;
 
public function __construct() {
    $this->websiteName =
parent::getWebsiteName();
  }
}

$domainW3 = new domainW3;

echo $domainW3 -> websiteName;
?>