Обучение/Помощь новичкам | Как правильно?
Как правильно? (Открытое голосование)
Другой вариант (2 чел. - 50 %)
1 вариант (1 чел. - 25 %)
4 вариант (1 чел. - 25 %)
2 вариант (0 чел. - 0 %)
3 вариант (0 чел. - 0 %)
Всего проголосовало: 4 чел.
Не знаю как такое загуглить, поэтому пишу здесь. Допустим у меня название таблицы находится в переменной. Есть обертка для подготовленных запросов. Как правильно прописать?
________
посл. ред. 02.09.2023 в 13:09; всего 1 раз(а); by Something
php
# Так?
db::fetchAssoc("SELECT * FROM `$table`");
# Или
db::fetchAssoc("SELECT * FROM `?`", $table);
# Или даже так?
db::fetchAssoc("SELECT * FROM ?", $table);
# 4 вариант
db::fetchAssoc("SELECT * FROM $table");________
посл. ред. 02.09.2023 в 13:09; всего 1 раз(а); by Something
Никогда не встречал, чтобы таблицу указывали через подготовленные запросы.
Даже если такое возможно и в переменной table нету данных из вне, то правильным будет 1 вариант
Даже если такое возможно и в переменной table нету данных из вне, то правильным будет 1 вариант
В целом первый вариант без `
Почему без них, только mysql саппортит их в остальных случаях при потребности сменить бд они не нужны и будет лишний рефакторинг
Почему без них, только mysql саппортит их в остальных случаях при потребности сменить бд они не нужны и будет лишний рефакторинг
Но в данном случае вообще лучше реализовать один из паттернов DAO AR или DM так как есть подозрение что данные дальше ходят через прямые query, хотя если в системе есть сервисы и репозитории то ещё пойдёт
________
посл. ред. 02.09.2023 в 13:05; всего 1 раз(а); by Scammer
________
посл. ред. 02.09.2023 в 13:05; всего 1 раз(а); by Scammer
В целом первый вариант без `
Почему без них, только mysql саппортит их в остальных случаях при потребности сменить бд они не нужны и будет лишний рефакторинг
Зачем они нужны вообще?
Но в данном случае вообще лучше реализовать один из паттернов DAO AR или DM так как есть подозрение что данные дальше ходят через прямые query, хотя если в системе есть сервисы и репозитории то ещё пойдёт
ORM? А смысл? Кода больше, нагрузки больше, читаемость хуже.
Например если вдруг какой-то из модулей свитчается к примеру на clickhouse (Так как работает с большими данными и надо менять технологию запросов, допустим модуль typeahead)
Так вот когда есть репозитории и сервисы и правильно используются DTO то это сделать достаточно легко изменив лишь репозиторий откуда подгружать данные даже больше можно делать a/b тестирование такой фичи, а когда оно все работает в mvp стайл то придётся кучу всего переписывать и костылить для внедрение нового
И в целом кейсов таких достаточно большое количество но это больше к проектам enterprises или Ecommerce применимо ну и в других больших вертикалей, если речь про трафик пару тысяч людей в месяц и стабильный онлайн до сотни то можно как угодно строить архитектуру лишь бы не упороться в большие данные после чего придётся переписывать все