DreadyCrig
12/5/2014 - 4:01 PM

Singleton Class wrapper for $wpdb

Singleton Class wrapper for $wpdb

<?php

class DB
{
    
    /**
     * Returns the *Singleton* instance of this class.
     *
     * @staticvar Singleton $instance The *Singleton* instances of this class.
     *
     * @return Singleton The *Singleton* instance.
     */
    public static function get_instance()
    {

        static $instance = null;
        if ( NULL === $instance) 
        {
            global $wpdb;
            $instance = &$wpdb;
        }

        return $instance;
    }

    /**
     * Protected constructor to prevent creating a new instance of the
     * *Singleton* via the `new` operator from outside of this class.
     */
    protected function __construct() { }

    /**
     * Private clone method to prevent cloning of the instance of the
     * *Singleton* instance.
     *
     * @return void
     */
    private function __clone() { }

    /**
     * Private unserialize method to prevent unserializing of the *Singleton*
     * instance.
     *
     * @return void
     */
    private function __wakeup() { }

}