Испрользование класса для подключения к базе данных
Почитал инструкцию про class и решил упростить подключение к базе данных в своём проекте!
Использую такой вид подключения к файлу:
include $_SERVER["DOCUMENT_ROOT"] . "/office/modules/database/connection.php";
Как уже стало понятно в файле connection.php содержится скрипт для подключения к бд.
Теперь думаю использовать подключения class который уже и будет содержать в себе подключение к базе! Но класс будет получать данные с переменных которые указаны в файле!
Думаю что в будующем сделать общий класс где и будут находится все классы требуемые для работы проекта!
Пока что накидал такой вот вариант!
class connect_DB{
function getInfoConnect($dataDB){
echo $dataDB['host'] . "<br>";
echo $dataDB['database'] . "<br>";
echo $dataDB['user'] . "<br>";
echo $dataDB['password'] . "<br>";
echo "<br>";
print_r($dataDB);
//connect to DB
}
}
$connect_DB = new connect_DB;
$host = 'localhost';
$database = 'name_dataBase';
$user = 'name_user';
$password = 'pass';
$dataDB = array("host" => $host,"database" => $database,"user" => $user,"password" => $password);
$connect_DB -> getInfoConnect($dataDB);
На выходе получаем это:
localhost
name_dataBase
name_user
pass
Array ( [host] => localhost [database] => name_dataBase [user] => name_user [password] => pass )
Подскажите как правильно сделать ?
Ответы (1 шт):
Я не рекомендую использовать подключение к БД для ознакомления с классами. Слишком много подводных камней и бессмысленного кода. Взять к примеру данное "упрощение":
До:
include $_SERVER["DOCUMENT_ROOT"] . "/office/modules/database/connection.php";
$users = $conn->query("SELECT COUNT(*) FROM users")->fetch_row[0];
после:
include $_SERVER["DOCUMENT_ROOT"] . "/office/modules/database/connection.php";
include $_SERVER["DOCUMENT_ROOT"] . "/office/modules/database/database.php";
$connect_DB = new connect_DB;
$dataDB = array("host" => $host,"database" => $database,"user" => $user,"password" => $password);
$connect_DB -> getInfoConnect($dataDB);
$users = $connect_DB->db->query("SELECT COUNT(*) FROM users")->fetch_row[0];
Это правда называется упрощением? Серьёзно?
Подскажите как правильно сделать ?
Оставить всё ак есть, только убедиться что в connection.php лежит правильный код.
И PDO, и mysqli - это уже классы, и не самые плохие. Поэтому я настоятельно рекомендую сначала научиться рабротать с встроенными классми РНР, а потом уже потихоньку делать свои, но не для подключения к БД, а для данных, которые получаешь из БД