change static methods to non-static methods for better testable code

This commit is contained in:
Daniel Seifert 2021-01-23 21:55:06 +01:00
parent c74789faef
commit 0a48b1b66c
Signed by: DanielS
GPG Key ID: 6A513E13AEE66170
2 changed files with 18 additions and 7 deletions

View File

@ -15,7 +15,10 @@ use Doctrine\DBAL\Configuration;
*/ */
class OxidEsalesDatabase extends \OxidEsales\Eshop\Core\Database\Adapter\Doctrine\Database class OxidEsalesDatabase extends \OxidEsales\Eshop\Core\Database\Adapter\Doctrine\Database
{ {
public static function enableLogger($message = null) /**
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException
*/
public function d3EnableLogger($message)
{ {
$trace = debug_backtrace((PHP_VERSION_ID < 50306) ? 2 : DEBUG_BACKTRACE_IGNORE_ARGS); $trace = debug_backtrace((PHP_VERSION_ID < 50306) ? 2 : DEBUG_BACKTRACE_IGNORE_ARGS);
@ -33,17 +36,20 @@ class OxidEsalesDatabase extends \OxidEsales\Eshop\Core\Database\Adapter\Doctrin
} }
/** /**
* @return OxidSQLLogger * @return mixed
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException * @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException
*/ */
public static function getLogger() public function d3GetLogger()
{ {
$database = \OxidEsales\Eshop\Core\DatabaseProvider::getDb(\OxidEsales\Eshop\Core\DatabaseProvider::FETCH_MODE_ASSOC); $database = \OxidEsales\Eshop\Core\DatabaseProvider::getDb(\OxidEsales\Eshop\Core\DatabaseProvider::FETCH_MODE_ASSOC);
$dbalConfig = $database->getConnection()->getConfiguration(); $dbalConfig = $database->getConnection()->getConfiguration();
return $dbalConfig->getSQLLogger(); return $dbalConfig->getSQLLogger();
} }
public static function disableLogger() /**
* @throws \OxidEsales\Eshop\Core\Exception\DatabaseConnectionException
*/
public function d3DisableLogger()
{ {
$database = \OxidEsales\Eshop\Core\DatabaseProvider::getDb(\OxidEsales\Eshop\Core\DatabaseProvider::FETCH_MODE_ASSOC); $database = \OxidEsales\Eshop\Core\DatabaseProvider::getDb(\OxidEsales\Eshop\Core\DatabaseProvider::FETCH_MODE_ASSOC);
$dbalConfig = $database->getConnection()->getConfiguration(); $dbalConfig = $database->getConnection()->getConfiguration();

View File

@ -6,9 +6,14 @@
*/ */
function D3StartSQLLog($message = null) { function D3StartSQLLog($message = null) {
\D3\OxidSqlLogger\OxidEsalesDatabase::enableLogger($message); /** @var \D3\OxidSqlLogger\OxidEsalesDatabase $database */
$database = oxNew(\D3\OxidSqlLogger\OxidEsalesDatabase::class);
$database->d3EnableLogger($message);
} }
function D3StopSQLLog() { function D3StopSQLLog()
\D3\OxidSqlLogger\OxidEsalesDatabase::disableLogger(); {
/** @var \D3\OxidSqlLogger\OxidEsalesDatabase $database */
$database = oxNew(\D3\OxidSqlLogger\OxidEsalesDatabase::class);
$database->d3DisableLogger();
} }