سرمایه گذاری متفاوت در سال نو 🍎🌱 ۳۵٪ تخفیف نوروزی ➕ حضور رایگان در مسترمایند نخبگان صنعت نرم‌افزار 💻✅
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ hamid mostafazadeh
آیا این امکان وجود دارد که یک شی در 2 یا چند کلاس به صورت همزمان باشد؟
جامعه پی اچ پی ایجاد شده در ۰۲ آذر ۱۳۹۹

سلام وقت بخیر

آیا این امکان وجود دارد که یک شی در 2 یا چند کلاس به صورت همزمان باشد؟

اگر وجود دارد لطفا چند مثال بزنید 

با تشکر

سلام 

اگرمنظورتون رو درست متوجه شده باشم میخواید از یک کلاس یک شی بسازید و همان شی رو در چندین جا استفاده کنید

اگر اینه منظورتون بله امکان پذیر هستش راه حل این مشکل دیزاین پترن سینگلتون که مثالش رو در زیر براتون میارم ‌:

class singltone {
private $instance = null;
private function __construct(){}
public static function getInstance()
{
    if($instance == null)
        $this->instance = new self();
     return $this->instance;
}
}
$singltone = singltone::getInstance();

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

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

میثم ۰۲ آذر ۱۳۹۹، ۱۷:۵۲

سلام و احترام

یه منظوری که میشه از سوالتون رو دریافت کرد رو آقای نصرتی جواب دادند اما یه منظور دوم هم وجود داره.

اگر منظورتون اینکه چندین کلاس رو که دقیقا اسم‌های شبیه به هم دارند رو در چندین جای مختلف داشت، بله امکان پذیر هستش. 

راه حل این مسئله نیز استفاده از namspace‌ها هستش که جلوتو یادخواهید گرفت.

امیر صالحی ۰۳ آذر ۱۳۹۹، ۰۶:۵۸