mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-11 05:48:51 +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:
|
||||
- [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:
|
||||
class: phpbb\db\tools\tools
|
||||
factory: ["@dbal.tools.factory", get]
|
||||
arguments:
|
||||
- @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