forked from melisa014/my-first-CMS
-
Notifications
You must be signed in to change notification settings - Fork 66
/
config.php
52 lines (43 loc) · 2.54 KB
/
config.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
<?php
try {
// Включаем полное отображение ошибок
ini_set("display_errors", true);
error_reporting(E_ALL);
date_default_timezone_set("Europe/Moscow"); // http://www.php.net/manual/en/timezones.php
// Настройки БД и остальных параметров будем хранить в массиве
$CmsConfiguration = array();
$CmsConfiguration["DB_DSN"] = "mysql:host=localhost;dbname=cms;charset=utf8;" ;
$CmsConfiguration["DB_USERNAME"] = "root";
$CmsConfiguration["DB_PASSWORD"] = "qwe123";
// Объявление констант, используемых в проекте
$CmsConfiguration["CLASS_PATH"] = "classes";
$CmsConfiguration["TEMPLATE_PATH"] = "templates";
$CmsConfiguration["HOMEPAGE_NUM_ARTICLES"] = 5;
$CmsConfiguration["ADMIN_USERNAME"] = "admin";
$CmsConfiguration["ADMIN_PASSWORD"] = "mypass";
include 'config-local.php'; /* подключаем локальный конфигурационный файл
* (для конкретной машины/сервера),
* в котором мы можем переопределить любые поля конфигурационного массива,
* например имя базы данных или пароль */
// после того, как значения конфигурации определены, создаём для них константы
defineConstants($CmsConfiguration);
// Подключаем Классы моделей (классы, отвечающие за работу с сущностями базы данных)
require(CLASS_PATH . "/Article.php");
require(CLASS_PATH . "/Category.php");
} catch (Exception $ex) {
echo "При загрузке конфигураций возникла проблема!<br><br>";
error_log($ex->getMessage());
}
/**
* Создаст константы, хранящие настройки приложения
*
* @param array $constatsNameAndValues массив, содержащий в качестве ключей имена констант,
* которые нужно объявить, а в качестве значений -- знчения этих констант
*/
function defineConstants($constatsNameAndValues)
{
// обходим массив и определяем нужные константы
foreach ($constatsNameAndValues as $constName => $constValue) {
define($constName, $constValue);
}
}