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

پست های مرتبط

مطالعه این پست ها رو از دست ندین!
Python - محدود کردن داده (MongoDB Limit)

Python – محدود کردن داده (MongoDB Limit)

Python MongoDB محدود کردن نتایج برای محدود کردن نتایج در MongoDB، از متد limit() استفاده می‌کنیم. متد limit() یک...

بیشتر بخوانید
Python - بروزرسانی (MongoDB Update)

Python – بروزرسانی (MongoDB Update)

به‌روزرسانی یک رکورد برای به‌روزرسانی یک رکورد یا سند در MongoDB، از متد update_one() استفاده می‌کنیم. پارامتر اول متد...

بیشتر بخوانید
Python - حذف کالکشن (MongoDB Drop Collection)

Python – حذف کالکشن (MongoDB Drop Collection)

حذف کالکشن شما می‌توانید یک جدول یا کالکشن در MongoDB را با استفاده از متد drop() حذف کنید. مثالحذف...

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

نظرات

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

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