1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-06 00:37:42 +02:00

[ticket/11037] Eliminate global $db usage in cache drivers.

The only time $db is needed in cache drivers is to navigate the
result set in sql_save. Pass it as a parameter in that function.

PHPBB3-11037
This commit is contained in:
Oleg Pudeyev
2012-12-20 04:35:30 -05:00
parent 3701d83ecb
commit e50f69187f
14 changed files with 22 additions and 21 deletions

View File

@@ -367,12 +367,10 @@ class phpbb_cache_driver_file extends phpbb_cache_driver_base
}
/**
* Save sql query
* {@inheritDoc}
*/
function sql_save($query, $query_result, $ttl)
function sql_save(phpbb_db_driver $db, $query, $query_result, $ttl)
{
global $db;
// Remove extra spaces and tabs
$query = preg_replace('/[\n\r\s\t]+/', ' ', $query);

View File

@@ -85,6 +85,7 @@ interface phpbb_cache_driver_interface
* result to persistent storage. In other words, there is no need
* to call save() afterwards.
*
* @param phpbb_db_driver $db Database connection
* @param string $query SQL query, should be used for generating storage key
* @param mixed $query_result The result from dbal::sql_query, to be passed to
* dbal::sql_fetchrow to get all rows and store them
@@ -95,7 +96,7 @@ interface phpbb_cache_driver_interface
* representing the query should be returned. Otherwise
* the original $query_result should be returned.
*/
public function sql_save($query, $query_result, $ttl);
public function sql_save(phpbb_db_driver $db, $query, $query_result, $ttl);
/**
* Check if result for a given SQL query exists in cache.

View File

@@ -283,12 +283,10 @@ abstract class phpbb_cache_driver_memory extends phpbb_cache_driver_base
}
/**
* Save sql query
* {@inheritDoc}
*/
function sql_save($query, $query_result, $ttl)
function sql_save(phpbb_db_driver $db, $query, $query_result, $ttl)
{
global $db;
// Remove extra spaces and tabs
$query = preg_replace('/[\n\r\s\t]+/', ' ', $query);
$hash = md5($query);

View File

@@ -105,9 +105,9 @@ class phpbb_cache_driver_null extends phpbb_cache_driver_base
}
/**
* Save sql query
* {@inheritDoc}
*/
function sql_save($query, $query_result, $ttl)
function sql_save(phpbb_db_driver $db, $query, $query_result, $ttl)
{
return $query_result;
}