Задать вопрос
trevoga_su
@trevoga_su

Пишу класс под Mysqli, нужна критика и предложения?

Привет всем.
Имеется прекрасно работающая обертка над mysqli.
Суть очень простая - это обертки над mysqli и mysqli_result, позволяющие максимально удобно работать с SQL.
Это НЕ ActiveRecord, НЕ ORM, НЕ SqlBuilder. Это лишь обертка над SQL, позволяющая избежать тонны однотипного кода при использовании подготовленных выражений. Точнее, идёт эмуляция оных.
Документация пока здесь - www.phpinfo.su/articles/additionally/klass_dlja_be...

Один из примеров:
$db->query('INSERT INTO `users` VALUES (?n, "?s", "?i", "?s")', null, 'Иван', '25', 'г. Клин, ЗАО "Рога и копыта"');

$user = array('name' => 'Василий', 'age' => '30', 'adress' => "Москва, ОАО 'М.Видео'");
$db->query('INSERT INTO `users` SET ?As', $user);

$user = array('id' => null, 'name' => 'Пётр', 'age' => '19', 'adress' => 'Москва, ул. Красносельская, 40\12');
$db->query('INSERT INTO `users` SET ?A[?n, "?s", "?s", "?s"]', $user);

$user = array('id' => null, 'name' => 'Анна_Каренина', 'age' => '23', 'adress' => 'Москва, ул. Радиальная, 12');
$db->query('INSERT INTO `users` VALUES (?a[?n, "?s", "?i", "?s"])', $user);


Нужна адекватная критика и предложения, что упущено, что нужно сделать.
  • Вопрос задан
  • 355 просмотров
Подписаться 2 Оценить 3 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Skillbox
    PHP-разработчик. Базовый уровень
    3 месяца
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Stepik
    PHP (pro)
    2 недели
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Onskills
    PHP: базовый курс
    1 месяц
    Далее
Пригласить эксперта
Ответы на вопрос 2
Writerim
@Writerim
Заполнить позже...
Вряд ли вам кто-то чем то поможет с этим. Вы сейчас сделали нечто подобное : купили лего и подпили их так, что собрать их можно только в определенном порядке и ваш ребенок начнет рано материться. Это как бы все тот же лего, но из него собирать сможете только вы. ORM не дураки придумали же. Оно позволяет из этого самого лего вам делать от табуретки до космического корабля. Просто задайте себе вопрос
Как я буду поддерживать проект если мне придется изменить название sql поля или удалить его.
Это как бы ваше решение, но вряд ли кто-то повторит ваш подвиг.
Ответ написан
Комментировать
@pihel
Sql, Oracle, pl/sql, BI, ETL, php, olap
Мне кажется единственно нормальным вариантом обертки - этот
$db->query('INSERT INTO `users` VALUES (?n, "?s", "?i", "?s")', null, 'Иван', '25', 'г. Клин, ЗАО "Рога и копыта"');

Все остальные варианты извращение над SQL, который итоговый не видно.
+ Если это настоящий prepared statement, то кавычки вокруг параметров не нужно:
$db->query('INSERT INTO `users` VALUES (?n, ?s)', 1, 'Иван');
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы