/
  • ارور در متد های static

  • ارسال پاسخ   امتیاز موضوع:
    • 0 رأی - میانگین امیتازات: 0
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی ارور در متد های static
    نویسنده پیام
    vahid1993 آفلاین
    عضو جدید
    **

    ارسال‌ها: 20
    تاریخ عضویت: ۱۳۹۵ شهريور ۲۹
    اعتبار: 0
    تشکرها : 1
    ( 1 تشکر در 1 ارسال )
    ارسال: #1
    ارور در متد های static
    سلام به همگی
    آقا این کد چرا ارور میده؟میگه چرا از this استفاده کردی ؟خب مشکل اینه که وقتی متد به صورت استاتیک چرا نمیتونم ازش استفاده کنم؟ اینم ارورش:
    Using $this when not in object context

    کد PHP:
    class PERSON{

        public 
    $v1 1;
        protected 
    $v2 1;

        public static function 
    show(){
            return 
    $this->v1 $this->v2;
        }
    }

    echo 
    PERSON::show(); 
    ۱۳۹۵ اسفند ۲۸ ۱۲:۱۰ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    Alaa آفلاین
    علا عالم فلکی
    ***

    ارسال‌ها: 946
    تاریخ عضویت: ۱۳۹۲ فروردين ۲۰
    اعتبار: 50
    تشکرها : 668
    ( 628 تشکر در 455 ارسال )
    ارسال: #2
    RE: ارور در متد های static
    سلام،
    داخل یه متد که static تعریف شده، نمی‌تونی از متغیری استفاده کنی که استاتیک نیست.
    (اینکه میگم تعریف دقیقی نیست، ولی خب منظور رو فک کنم میرسونه) متدهای static یه جورایی مستقل هستن... نمیشه داخلشون از $this استفاده کرد.
    میتونی یکی از این ۲ حالت بنویسی.
    حالت اول
    کد:
    class PERSON{

        public static $v1 = 1;
        protected static $v2 = 1;

        public static function show(){
            return static::$v1 + static::$v2;
        }
    }

    echo PERSON::show();
    حالت دوم
    کد:
    class PERSON{

        public static $v1 = 1;
        protected static $v2 = 1;

        public static function show(){
            return self::$v1 + self::$v2;
        }
    }

    echo PERSON::show();

    خود پی‌اچ‌پی فک کنم گفته بود حالت ۲ رو استفاده کنیم. ولی من از اولی استفاده میکنم، احساس میکنم خواناتره.
    (کدها رو اونجا گذاشتم چون می‌تونی اجرا بگیری)
    __________________________________________________________________________
    (آخرین ویرایش در این ارسال: ۱۳۹۵ اسفند ۲۸ ۰۱:۵۱ صبح، توسط undefined.)
    ۱۳۹۵ اسفند ۲۸ ۰۱:۴۱ صبح
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : Reza
    vahid1993 آفلاین
    عضو جدید
    **

    ارسال‌ها: 20
    تاریخ عضویت: ۱۳۹۵ شهريور ۲۹
    اعتبار: 0
    تشکرها : 1
    ( 1 تشکر در 1 ارسال )
    ارسال: #3
    RE: ارور در متد های static
    (۱۳۹۵ اسفند ۲۸ ۰۱:۴۱ صبح)Alaa نوشته شده توسط:  سلام،
    داخل یه متد که static تعریف شده، نمی‌تونی از متغیری استفاده کنی که استاتیک نیست.
    (اینکه میگم تعریف دقیقی نیست، ولی خب منظور رو فک کنم میرسونه) متدهای static یه جورایی مستقل هستن... نمیشه داخلشون از $this استفاده کرد.
    میتونی یکی از این ۲ حالت بنویسی.
    حالت اول
    کد:
    class PERSON{

        public static $v1 = 1;
        protected static $v2 = 1;

        public static function show(){
            return static::$v1 + static::$v2;
        }
    }

    echo PERSON::show();
    حالت دوم
    کد:
    class PERSON{

        public static $v1 = 1;
        protected static $v2 = 1;

        public static function show(){
            return self::$v1 + self::$v2;
        }
    }

    echo PERSON::show();

    خود پی‌اچ‌پی فک کنم گفته بود حالت ۲ رو استفاده کنیم. ولی من از اولی استفاده میکنم، احساس میکنم خواناتره.
    (کدها رو اونجا گذاشتم چون می‌تونی اجرا بگیری)

    آقا دمت گرم حله. یه چیز جدیدم یادم دادی اینکه میشه از static به جای self استفاده کنی. ایول دمت گرم
    ۱۳۹۵ اسفند ۲۸ ۰۲:۰۷ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    « قدیمی تر | تازه‌ تر »

    ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS