Panchous
Павел
Обертка для mysqli VS mysqli_init()
Сделал обертку для mysqli (взял пример mysqli2 из комметов в мануале)
Возникло несколько вопросов:
Сделал обертку для mysqli (взял пример mysqli2 из комметов в мануале)
Возникло несколько вопросов:
- Корректно ли в своей обертке в деструкторе вызывать метод close родителя?
Ведь данный метод вожвращает TRUE или FALSE - а значит, предполагается, что его можно обрабатывать.
С деструктором так не выйдет...
Не спроста же, разработчики не сделали вызывают close() в деструкторе mysqli?
(по крайней мере в мануале подробностей не нашел)
- Как правильно пользоваться своей оберткой, если я хочу использовать [m]mysqli_init()[/m], [m]mysqli_options()[/m] и [m]mysqli_real_connect()[/m]?
Т.е. я хочу сделать одну функцию для подключения к БД (создание объекта, вызов connet...):
Но выясняется, что такой код неверный:Код:[PHP] public static function getDbConnection($settings) { $db = (mysqli2) mysqli_init(); $db->options(MYSQLI_INIT_COMMAND, "SET NAMES cp1251"); $db->real_connect($settings ['host'], $settings ['user'], $settings ['password'], $settings ['db'], $settings ['port']); return $db; } [/PHP]
Как правильно поступать в подобных случаях?PHP:$db = (mysqli2) mysqli_init(); // ошибка
[/list=1]
