1 <?php
2 /**
3 * Interface for database helper classes.
4 * @package sapphire
5 */
6 interface DatabaseConfigurationHelper {
7
8 /**
9 * Ensure that the database function for connectivity is available.
10 * If it is, we assume the PHP module for this database has been setup correctly.
11 *
12 * @param array $databaseConfig Associative array of db configuration, e.g. "server", "username" etc
13 * @return boolean
14 */
15 public function requireDatabaseFunctions($databaseConfig);
16
17 /**
18 * Ensure that the database server exists.
19 * @param array $databaseConfig Associative array of db configuration, e.g. "server", "username" etc
20 * @return array Result - e.g. array('okay' => true, 'error' => 'details of error')
21 */
22 public function requireDatabaseServer($databaseConfig);
23
24 /**
25 * Ensure a database connection is possible using credentials provided.
26 * The established connection resource is returned with the results as well.
27 *
28 * @param array $databaseConfig Associative array of db configuration, e.g. "server", "username" etc
29 * @return array Result - e.g. array('okay' => true, 'connection' => mysql link, 'error' => 'details of error')
30 */
31 public function requireDatabaseConnection($databaseConfig);
32
33 /**
34 * Ensure that the database connection is able to use an existing database,
35 * or be able to create one if it doesn't exist.
36 *
37 * @param array $databaseConfig Associative array of db configuration, e.g. "server", "username" etc
38 * @return array Result - e.g. array('okay' => true, 'existsAlready' => 'true')
39 */
40 public function requireDatabaseOrCreatePermissions($databaseConfig);
41
42 }