PHP – متدهای استاتیک (Static Methods)

PHP - متدهای استاتیک (Static Methods) چیستند؟

متدهای استاتیک (Static Methods) می‌توانند مستقیماً فراخوانی شوند – بدون نیاز به ایجاد یک نمونه از کلاس.

متدهای استاتیک (Static Methods) با استفاده از کلمه کلیدی static اعلام می‌شوند:

نحو (Syntax)

<?php
class ClassName {
  public static function staticMethod() {
    echo "Hello World!";
  }
}
?>

برای دسترسی به یک متد استاتیک (Static Method) از نام کلاس، دو نقطه (::) و نام متد استفاده کنید:

نحو (Syntax)

ClassName::staticMethod();

مثال (Example)

<?php
class greeting {
  public static function welcome() {
    echo "Hello World!";
  }
}
// فراخوانی متد استاتیک (Static Method)
greeting::welcome();
?>

توضیح مثال (Example Explained)

اینجا، ما یک متد استاتیک (Static Method) به نام welcome() اعلام می‌کنیم. سپس، ما متد استاتیک (Static Method) را با استفاده از نام کلاس، دو نقطه (::) و نام متد فراخوانی می‌کنیم (بدون ایجاد یک نمونه از کلاس).

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

یک کلاس می‌تواند هم متدهای استاتیک (Static Methods) و هم غیر استاتیک (Non-Static Methods) داشته باشد. یک متد استاتیک (Static Method) می‌تواند از یک متد در همان کلاس با استفاده از کلمه کلیدی self و دو نقطه (::) فراخوانی شود:

مثال (Example)

<?php
class greeting {
  public static function welcome() {
    echo "Hello World!";
  }
  public function __construct() {
    self::welcome();
  }
}
new greeting();
?>

فراخوانی متد استاتیک (Static Method) از متدهای دیگر کلاس‌ها

متدهای استاتیک (Static Methods) همچنین می‌توانند از متدهای دیگر کلاس‌ها فراخوانی شوند. برای این کار، متد استاتیک (Static Method) باید public باشد:

مثال (Example)

<?php
class A {
  public static function welcome() {
    echo "Hello World!";
  }
}
class B {
  public function message() {
    A::welcome();
  }
}
$obj = new B();
echo $obj->message();
?>

فراخوانی متد استاتیک (Static Method) از کلاس فرزند (Child Class)

برای فراخوانی یک متد استاتیک (Static Method) از یک کلاس فرزند (Child Class)، از کلمه کلیدی parent در داخل کلاس فرزند استفاده کنید. در اینجا، متد استاتیک (Static Method) می‌تواند public یا protected باشد.

مثال (Example)

<?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;
?>

پست های مرتبط

مطالعه این پست ها رو از دست ندین!
JavaScript - رویدادها (Events)

JavaScript – رویدادها (Events)

رویدادهای HTML رویدادها در HTML، “اتفاقاتی” هستند که برای عناصر HTML رخ می‌دهند. این اتفاقات می‌توانند ناشی از کار...

بیشتر بخوانید
JavaScript - سازنده‌های شیء (Object Constructors)

JavaScript – سازنده‌های شیء (Object Constructors)

ساخت آبجکت با تابع سازنده (Object Constructor Function) برای ساخت چندین آبجکت مشابه، از تابع سازنده استفاده می‌شود. این...

بیشتر بخوانید
JavaScript - نمایش شیء (Object Display)

JavaScript – نمایش شیء (Object Display)

نحوه نمایش آبجکت‌ها در جاوااسکریپت هنگام نمایش یک آبجکت جاوااسکریپت به صورت مستقیم، خروجی معمولاً به شکل [object Object]...

بیشتر بخوانید

نظرات

سوالات و نظراتتون رو با ما به اشتراک بذارید

برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید.