نمایش نتایج 1 تا 2 از 2

نام تاپیک: یک باگ دیگه تو activerecord

  1. #1

    یک باگ دیگه تو activerecord

    تو کلاس activerecord توابع getattribute و setattribute طوری تعریف شدن که با استفاده از آن می‌توان به تمام خاصیت‌های خصوصی این کلاس ومشتقاتش براحتی دسترسی داشت.
    تو این دو تا کلاس به تابع property_exists توجه کنید که از ورژن ۵.۳ به بعد واسه خاصیت‌های خصوصی هم true برمی‌گردونه.


    public function getAttribute($name)
    {
    if(property_exists($this,$name))
    return $this->$name;
    elseif(isset($this->_attributes[$name]))
    return $this->_attributes[$name];
    }

    public function setAttribute($name,$value)
    {
    if(property_exists($this,$name))
    $this->$name=$value;
    elseif(isset($this->getMetaData()->columns[$name]))
    $this->_attributes[$name]=$value;
    else
    return false;
    return true;
    }

  2. #2

    نقل قول: یک باگ دیگه تو activerecord

    اصلا خاصیت توابع getter و setter اینه که حتی property های private رو هم بتونه قابل خوندن یا قابل نوشتن کنه این باگ نیست خودشون میخواستن اینطوری باشه مثلا شما یک کلاس ShoppingCart داری که یک property داره به نام price که به نظر من باید private باشه ولی خوب با خاصیت setter میتونی مقدار دهیش کنی ولی فقط از درون کلاس قابل دست یابی باشه، بعد کلا واسه راحتی این تابع های خیلی خوبه و حتی اگه این باگ باشه خطری نداره

تاپیک های مشابه

  1. یه باگ کوچیک تو activerecord
    نوشته شده توسط mojtaba.baghban در بخش Yii Framework
    پاسخ: 0
    آخرین پست: چهارشنبه 16 اسفند 1391, 12:34 عصر
  2. یه باگ دیگه
    نوشته شده توسط FastCode در بخش گفتگو با مسئولین سایت، درخواست و پیشنهاد
    پاسخ: 7
    آخرین پست: شنبه 26 تیر 1389, 20:54 عصر
  3. خبر: یک باگ دیگه Commenting در Wordpress!!
    نوشته شده توسط Yousha در بخش PHP
    پاسخ: 0
    آخرین پست: دوشنبه 05 مرداد 1388, 13:18 عصر
  4. باگ VB یا چیز دیگه ؟
    نوشته شده توسط j.farazani در بخش برنامه نویسی در 6 VB
    پاسخ: 5
    آخرین پست: سه شنبه 20 آذر 1386, 23:28 عصر
  5. باگ vb یا چیزه دیگه
    نوشته شده توسط اوبالیت به بو در بخش کامپوننت ها و ابزارهای کاربردی در VB6
    پاسخ: 4
    آخرین پست: پنج شنبه 17 آبان 1386, 10:42 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •