-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDbEnvironment.php
91 lines (78 loc) · 2.2 KB
/
DbEnvironment.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<?php
namespace Neoan3\Apps;
use mysqli;
/**
* Class DbEnvironment
*
* @package Neoan3\Apps
*/
class DbEnvironment
{
/**
* @var mysqli $_db
*/
private $_db;
/**
* @var array
*/
private $envVariables;
/**
* DbEnvironment constructor.
*
*/
function __construct()
{
$this->envVariables = [
'db_app_root' => defined('path') ? path : dirname(dirname(dirname(dirname(__FILE__)))),
'db_host' => defined('db_host') ? db_host : 'localhost',
'db_name' => defined('db_name') ? db_name : 'test',
'db_user' => defined('db_user') ? db_user : 'root',
'db_password' => defined('db_password') ? db_password : '',
'db_assumes_uuid' => defined('db_assumes_uuid') ? db_assumes_uuid : false,
'db_file_location' => defined('db_file_location') ? db_file_location : 'component',
'db_dev_errors' => defined('db_dev_errors') ? db_dev_errors : false,
'db_charset' => defined('db_charset') ? db_charset : 'utf8mb4',
'db_filter_characters' => defined('db_filter_characters') ? db_filter_characters : '/[^a-zA-Z\_\^\.\s\*]/',
'db_casing' => defined('db_casing') ? db_casing : 'snake',
'db_port' => defined('db_port') ? db_port : 3306,
'db_debug' => defined('db_debug') ? db_debug : false
];
return $this;
}
/**
* @param $mysqli
*/
public function bindMysqli($mysqli)
{
$this->_db = $mysqli;
}
/**
* @param $charset
*
* @return object
*/
public function setCharset($charset)
{
$this->_db->set_charset($charset);
return $this->_db->get_charset();
}
/**
* @param $property
* @param $value
*/
public function set($property, $value)
{
$this->envVariables['db_' . $property] = $value;
}
/**
* Get environment variable
*
* @param $var
*
* @return mixed
*/
public function get($var)
{
return $this->envVariables['db_' . $var];
}
}