پرش به محتوا

دیزاین پترن singleton در PHP

در ادامه بحث هامون در مورد دیزاین پترن ها امروز میخوام بصورت خلاصه در مورد singleton design pattern بنویسم که فکر میکنم به درد خیلی هاتون بخوره و خیلی از پیچیدگی کد نویسی رو براتون کمتر کنه. بصورت خلاصه و مفید اگه بخوام بگم این دیزاین پترن همونطور که از اسمش پیداست از تکرار جلوگیری میکنه و جاهایی استفاده میشه که بخوایم یه کد تکراری رو فقط یکبار بنویسیم. پس سینگلتون جاهایی به کارمون میاد که ما به یه نمونه از شی بصورت گلوبال میخوایم دسترسی داشته باشیم. مثلا شما ممکنه مجبور باشید توی یک سیستم بارها به دیتابیس وصل بشید. یا ممکنه بخواید از api یه سایت دیگه هر چند بار پشت سر هم استفاده کنید یا هر چیز دیگه ای که خودتون صلاح میدونید… با مثال توضیح میدم که ایده ی این الگو چطور هست. در زیر یه پیاده سازی پایه از این الگو رو میبینیم :

class Database
{
    public static function Instance()
    {
        static $inst = null;
        if ($instnce === null) {
            $instnce = new Database();
        }
        return $instnce;
    }

    public function getUsers()
    {
        return 'users...';
    }
    
    public function getPosts()
    {
        return 'posts...';
    }
}

$users = Database::Instance()->getUsers();
$posts = Database::Instance()->getPosts();

همونطور که میبینید Instance  به صورت متد استاتیک تعریف شده و بصورت استاتیک بهش دسترسی پیدا میکنیم.

3 دیدگاه دربارهٔ «دیزاین پترن singleton در PHP»

  1. سلام. خیلی ممنون بابت مقالتون. همیشه همینجوری با مثال و ساده و خودمونی توضیح بدین. من طرفدار این نوع آموزش هستم. موفق باشید

پاسخ دادن به حمیدرضا لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *