PDA

View Full Version : سوال در باره کلاس php



Saroman22
یک شنبه 10 مرداد 1395, 20:13 عصر
کلاسی رو new میکنیم و از پراپرتی های public که تعریف کردیم استفاده میکنیم ...
این پراپرتی ها مقدار دهی میشن ...
اما به محض اینکه کلاس رو جای دیگه new میکنیم همه چیز از اول شرو میشه ... ینی پراپرتی ها مقدارشون که قبلا ست کردیم رو از دست میدن ...
چطور میشه این کلاس رو که در جای دیگه new کردیم پراپرتی های موجود در اون همون مقدار های آخرین باری که کلاس new شده رو داشته باشن ؟

plague
چهارشنبه 13 مرداد 1395, 00:47 صبح
اگه کلاس رو یه کارخونه فرض کنی که یک محصول رو تولید میکنه (شی)
وقتی محصول از کارخونه اومد بیرون هربلایی سرش بیاری آیا فکر میکنید محصول بعدی که از تو کارخونه میاد بیرون باید همون بلا سرش اومده باشه ؟ مشخصه که نه

اگه میخای منتقل کنی پراپرتی ها رو باید تو دیتابیس بریزی تغییرات یک شی رو بعد وقتی شی دیگری ساخته میشه از دیتابیس بخونی تو کانستراکت و مقدار دهی کنی برای شی جدید

ahadabasi
جمعه 02 مهر 1395, 13:49 عصر
فکر کنم شما نیاز به استفاده از کلاس های استاتیک داشته باشید


class Foo
{
private static $my_static = 'foo';

public static function getStaticValue() {
return self::$my_static;
}

public static function setStaticValue($value) {
self::$my_static = $value;
}
}

echo Foo::getStaticValue();
Foo::setStaticValue('bar');
echo '<br>';
echo Foo::getStaticValue();

برای استفاده از متدهای استاتیک نیازی به تعریف نوع از کلاس نیست، توسط متد getStaticValue میتونید مقدار پراپرتی my_static را بگیرید و یا توسط متد setStaticValue مقدار این پراپرتی را تغییر بدید