Xpressengine\Database\DatabaseCoupler::instance PHP Method

instance() public static method

create instance if not exists
public static instance ( Illuminate\Database\DatabaseManager $databaseManager, TransactionHandler $transaction, ProxyManager $proxy, Xpressengine\Support\CacheInterface $cache ) : DatabaseCoupler
$databaseManager Illuminate\Database\DatabaseManager database manager
$transaction TransactionHandler transaction handler
$proxy ProxyManager proxy manager
$cache Xpressengine\Support\CacheInterface cache
return DatabaseCoupler
    public static function instance(DatabaseManager $databaseManager, TransactionHandler $transaction, ProxyManager $proxy, CacheInterface $cache)
    {
        self::$instance = new static($databaseManager, $transaction, $proxy, $cache);
        return self::$instance;
    }

Usage Example

 /**
  * Register the service provider.
  *
  * @return void
  */
 public function register()
 {
     DynamicModel::clearBootedModels();
     $this->app->singleton('xe.db.proxy', function ($app) {
         return ProxyManager::instance($app['xe.register']);
     });
     $this->app->singleton(['xe.db' => DatabaseHandler::class], function ($app) {
         $coupler = DatabaseCoupler::instance($app['db'], TransactionHandler::instance(), $app['xe.db.proxy'], new LaravelCache($app['cache']->driver('schema')));
         $proxyClass = $app['xe.interception']->proxy(DatabaseHandler::class, 'XeDB');
         return new $proxyClass($coupler, $app['config']->get('xe.database'));
     });
 }
All Usage Examples Of Xpressengine\Database\DatabaseCoupler::instance