سبد (0)

متغیر ها و توابع static در PHP

متغیر ها و توابع Static

Wiki

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

نحوه دسترسی:

 نام متغیر یا تابعی که static تعریف شده   ::   نام کلاس

چهار محدوده نمایش وجود دارد:

  1. public : منبع مورد نظر در هر قسمتی قابل استفاده می باشد.
  2. protected : فقط در کلاسی که تعریف شده و کلاس هایی که آن را توسعه می دهند قابل استفاده می باشد.
  3. private : فقط در کلاسی که تعریف شده قابل استفاده می باشد.
  4. final : در هر جایی قابل استفاده می باشد، اما در کلاس های توسعه دهنده نمی تواند دوباره تعریف شود.(final به کلاس ها نیز میتواند تخصیص یابد، کلاس هایی که به صورت final تعریف شده اند، نمی توانند توسعه یابند.)

مثال: در مثال زیر متغیر name و تابع ()action به صورت static تعریف شده است:

<?php
class My_Class{
    static $name="Beyamooz.com is for tutorial\n";
    static function action()
    {
        echo "PHP is easy!!\n";
    }
}
My_Class::action();
echo My_Class::$name;
$obj=new My_Class();
$obj->action();
//echo $obj->name;  Undefined "Property" name
echo $obj::$name;
?>

خروجی کد بالا:

PHP is easy!!
Beyamooz.com is for tutorial
PHP is easy!!
Beyamooz.com is for tutorial

توجه: به متغیرهای Static یک کلاس، نمی توان از طریق شیء و عملگر فلش (<-) دسترسی داشت (با خطای Undefined "Property" name مواجه خواهید شد.)


ثوابت (const)

Wiki

ثابت ها یا همان const ها در کلاس ها همانند متغیر ها هستند با این تفاوت که مقدار آنها قابل تغییر نمی باشد و با این مزیت که در هرجایی میتوانند مورد استفاده قرار گیرند!

مثال:

<?php
class My_Class{
    const name="www.beyamooz.com<br />";
    function test()
    {
        echo self::name;
    }
}
echo My_Class::name;
$obj=new My_Class;
$obj->test();
؟>

 خروجی کد بالا:

www.beyamooz.com
www.beyamooz.com

آموزش صوتی PHP

ابزاری که در پیش روی دارید یکی از ابزارهای بسیار کاربردی سایت بیاموز در زمینه آموزش است، این ابزار برای سهولت یادگیری شما کاربران محترم طراحی شده است.

فقط کافی است روی عنوان پاراگراف مورد نظرتان کلیک کنید تا پخش صدا آغاز شود ...!

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه