Приднестровская поддержка XOOPS
Поскольку в нашем приложении в доступе к базе данных будут нуждаться несколько классов, имеет смысл создать объект, предназначенный для открытия и хранения объекта базы данных. Назовем этот объект DB_Connect и поместим его в файл class.db_connect.inc.php, который сохраним в папке class (/sys/class/class.db_connect.inc.php).
У этого класса будет одно свойство и один метод, оба защищенные. Назначим свойству имя $db и используем его для хранения объекта базы данных. Упомянутый метод — конструктор. Этот метод будет принимать в качестве необязательного параметра объект базы данных, сохраняемый далее в переменной $db, а если этот параметр ему не передается — создавать новый объект PDO (PHP Data Object).
Поместите в файл class.db_connect.inc.php приведенный ниже код.
<?php
/**
* Осуществляет подключение к базе данных (доступ к БД, проверка и т.п.))
*
* Версия PHP 5
*
* ЛИЦЕНЗИЯ: на этот файл распространяется лицензия MIT,
* доступная по адресу:
* http://www.opensource.org/licenses/mit-license.html
*
* @author Jason Lengstorf <jason.lengstorf@ennuidesign.com>
* @copyright 2009 Ennui Design
* @license http://www.opensource.org/licenses/mit-license.html
*/
class DB_Connect {
/**
* Переменная для хранения объекта базы данных
*
* @var object: объект базы данных
*/
protected $db;
/**
* Проверить наличие объекта БД, а в случае его отсутствия создать новый
*
* @param object $dbo: объект базы данных
*/
protected function __construct($dbo=NULL)
{
if ( is_object($dbo) )
{
$this->db = $dbo;
}
else
{
// Константы определены в файле /sys/config/db-cred.inc.php
$dsn = "mysql:host=" . DB_HOST . ";dbname=" . DB_NAME;
try
{
$this->db = new PDO($dsn, DB_USER, DB_PASS);
}
catch ( Exception $e )
{
// Если не удается установить соединение с БД,
// вывести сообщение об ошибке
die ( $e->getMessage() );
}
}
}
}
?>
Отправитель | Нити |
---|
28 пользователь(ей) активно (10 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 28 далее... |