<?php namespace FluentMail\App\Services\DB;
use FluentMail\App\Services\DB\QueryBuilder\QueryBuilderHandler;
/**
* This class gives the ability to access non-static methods statically
*
* Class AliasFacade
*
* @package FluentAuthDb
*/
class AliasFacade
{
/**
* @var QueryBuilderHandler
*/
protected static $queryBuilderInstance;
/**
* @param $method
* @param $args
*
* @return mixed
*/
public static function __callStatic($method, $args)
{
if (!static::$queryBuilderInstance) {
static::$queryBuilderInstance = new QueryBuilderHandler();
}
// Call the non-static method from the class instance
return call_user_func_array(array(static::$queryBuilderInstance, $method), $args);
}
/**
* @param QueryBuilderHandler $queryBuilderInstance
*/
public static function setQueryBuilderInstance($queryBuilderInstance)
{
static::$queryBuilderInstance = $queryBuilderInstance;
}
}