mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-12 14:28:56 +00:00
[ticket/13487] Add factory for db tool class
This allows us to split up the large file one by one easily. PHPBB3-13487
This commit is contained in:
parent
45ccd2d44a
commit
11b6bc5722
2 changed files with 40 additions and 0 deletions
|
@ -9,8 +9,13 @@ services:
|
||||||
calls:
|
calls:
|
||||||
- [sql_connect, [%dbal.dbhost%, %dbal.dbuser%, %dbal.dbpasswd%, %dbal.dbname%, %dbal.dbport%, false, %dbal.new_link%]]
|
- [sql_connect, [%dbal.dbhost%, %dbal.dbuser%, %dbal.dbpasswd%, %dbal.dbname%, %dbal.dbport%, false, %dbal.new_link%]]
|
||||||
|
|
||||||
|
# ----- DB Tools -----
|
||||||
|
dbal.tools.factory:
|
||||||
|
class: phpbb\db\tools\factory
|
||||||
|
|
||||||
dbal.tools:
|
dbal.tools:
|
||||||
class: phpbb\db\tools\tools
|
class: phpbb\db\tools\tools
|
||||||
|
factory: ["@dbal.tools.factory", get]
|
||||||
arguments:
|
arguments:
|
||||||
- @dbal.conn
|
- @dbal.conn
|
||||||
|
|
||||||
|
|
35
phpBB/phpbb/db/tools/factory.php
Normal file
35
phpBB/phpbb/db/tools/factory.php
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* This file is part of the phpBB Forum Software package.
|
||||||
|
*
|
||||||
|
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
||||||
|
* @license GNU General Public License, version 2 (GPL-2.0)
|
||||||
|
*
|
||||||
|
* For full copyright and license information, please see
|
||||||
|
* the docs/CREDITS.txt file.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace phpbb\db\tools;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A factory which serves the suitable tools instance for the given dbal
|
||||||
|
*/
|
||||||
|
class factory
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @param mixed $db_driver
|
||||||
|
* @param bool $return_statements
|
||||||
|
* @return \phpbb\db\tools\tools_interface
|
||||||
|
*/
|
||||||
|
public function get($db_driver, $return_statements = false)
|
||||||
|
{
|
||||||
|
if ($db_driver instanceof \phpbb\db\driver\driver_interface)
|
||||||
|
{
|
||||||
|
return new \phpbb\db\tools\tools($db_driver, $return_statements);
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new \InvalidArgumentException('Invalid database driver given');
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue