PDA

View Full Version : سوال: ستر و گتر در php



yakouza
سه شنبه 13 اردیبهشت 1390, 20:06 عصر
سلام.
میدونم اگه یه تابع یا متد به نام ست تو کلاس باشه یه مقداری رو به یه متغیر (اگه وجود نداشته باشه ایجاد میکنه) نسبت میده. و کار گت هم اینه که اون مقدار رو برمیگردونه.
حالا من یه جا دیدیم که یه کلاس رو بعد از اینستنس گرفتن,گرفتن و تو تابع ست گذشتن خب یعنی جی؟
اون جور که من فهمیدم با این کار کلاس share میشه و نیازی نیست که هر جا خاستیم یه اینستنس از کلاس بگیریم. :متفکر:
خب در این صورت در حالت عادی وقتی که یه اینستنس از کلاس میگیریم تا وقتی که اجرای اسکریپت به پایان نرسیده تو حافظه میمونه اونوقت چه نیازی به share کردن کلاس هست؟
مثلا اینو ببینین:



final class Registry {
static private $data = array();

static public function get($key) {
return (isset(self::$data[$key]) ? self::$data[$key] : NULL);
}

static public function set($key, $value) {
self::$data[$key] = $value;
}

static public function has($key) {
return isset(self::$data[$key]);
}
}




// Loader
$loader = new Loader();
Registry::set('load', $loader);

// Config
$config = new Config();
Registry::set('config', $config);


خب اصلا جه لزومی داره که کلاس به جای متغیر به کار بره؟